diff --git a/acp-ktor-test/src/commonTest/kotlin/com/agentclientprotocol/NesTest.kt b/acp-ktor-test/src/commonTest/kotlin/com/agentclientprotocol/NesTest.kt new file mode 100644 index 0000000..9474098 --- /dev/null +++ b/acp-ktor-test/src/commonTest/kotlin/com/agentclientprotocol/NesTest.kt @@ -0,0 +1,315 @@ +package com.agentclientprotocol + +import com.agentclientprotocol.agent.Agent +import com.agentclientprotocol.agent.AgentInfo +import com.agentclientprotocol.agent.AgentSession +import com.agentclientprotocol.agent.AgentSupport +import com.agentclientprotocol.agent.NesAgentSession +import com.agentclientprotocol.agent.client +import com.agentclientprotocol.annotations.UnstableApi +import com.agentclientprotocol.client.Client +import com.agentclientprotocol.client.ClientInfo +import com.agentclientprotocol.common.SessionCreationParameters +import com.agentclientprotocol.framework.ProtocolDriver +import com.agentclientprotocol.model.* +import kotlinx.coroutines.CompletableDeferred +import kotlinx.coroutines.currentCoroutineContext +import kotlinx.serialization.json.JsonElement +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertFailsWith +import kotlin.test.assertTrue + +@OptIn(UnstableApi::class) +abstract class NesTest(protocolDriver: ProtocolDriver) : ProtocolDriver by protocolDriver { + + @Test + fun `nes session lifecycle - start suggest close`() = testWithProtocols { clientProtocol, agentProtocol -> + val client = Client(protocol = clientProtocol) + Agent(protocol = agentProtocol, agentSupport = object : AgentSupport { + override suspend fun initialize(clientInfo: ClientInfo): AgentInfo { + return AgentInfo( + clientInfo.protocolVersion, + capabilities = AgentCapabilities( + nes = NesCapabilities( + events = NesEventCapabilities( + document = NesDocumentEventCapabilities( + didOpen = NesDocumentDidOpenCapabilities() + ) + ) + ), + positionEncoding = PositionEncodingKind.UTF_16 + ) + ) + } + + override suspend fun createSession(sessionParameters: SessionCreationParameters): AgentSession { + TODO("Not needed for NES test") + } + + override suspend fun createNesSession(request: StartNesRequest): NesAgentSession { + return object : NesAgentSession { + override val nesSessionId: SessionId = SessionId("nes-session-1") + + override suspend fun suggest(request: SuggestNesRequest): SuggestNesResponse { + return SuggestNesResponse( + suggestions = listOf( + NesSuggestion.Edit( + id = "edit-1", + uri = request.uri, + edits = listOf( + NesTextEdit( + range = NesRange( + start = request.position, + end = request.position + ), + newText = "suggested text" + ) + ) + ) + ) + ) + } + + override suspend fun close(_meta: JsonElement?): CloseNesResponse { + return CloseNesResponse() + } + } + } + }) + + // Initialize + client.initialize( + ClientInfo( + capabilities = ClientCapabilities( + nes = ClientNesCapabilities( + jump = NesJumpCapabilities() + ), + positionEncodings = listOf(PositionEncodingKind.UTF_16) + ) + ) + ) + + // Start NES session + val nesSession = client.startNesSession( + workspaceUri = "file:///workspace" + ) + assertEquals(SessionId("nes-session-1"), nesSession.nesSessionId) + + // Send didOpen (fire-and-forget notification) + nesSession.didOpen( + uri = "file:///workspace/test.kt", + languageId = "kotlin", + version = 1, + text = "fun main() {}" + ) + + // Request suggestions + val suggestResponse = nesSession.suggest( + uri = "file:///workspace/test.kt", + version = 1, + position = NesPosition(line = 0u, character = 14u), + triggerKind = NesTriggerKind.AUTOMATIC + ) + assertEquals(1, suggestResponse.suggestions.size) + val suggestion = suggestResponse.suggestions[0] + assertTrue(suggestion is NesSuggestion.Edit) + assertEquals("edit-1", suggestion.id) + assertEquals("suggested text", suggestion.edits[0].newText) + + // Accept the suggestion (fire-and-forget notification) + nesSession.accept("edit-1") + + // Close the NES session (request-response) + val closeResponse = nesSession.close() + assertEquals(CloseNesResponse(), closeResponse) + } + + @Test + fun `nes suggest returns multiple suggestion types`() = testWithProtocols { clientProtocol, agentProtocol -> + val client = Client(protocol = clientProtocol) + Agent(protocol = agentProtocol, agentSupport = object : AgentSupport { + override suspend fun initialize(clientInfo: ClientInfo): AgentInfo { + return AgentInfo(clientInfo.protocolVersion, capabilities = AgentCapabilities(nes = NesCapabilities())) + } + + override suspend fun createSession(sessionParameters: SessionCreationParameters): AgentSession { + TODO() + } + + override suspend fun createNesSession(request: StartNesRequest): NesAgentSession { + return object : NesAgentSession { + override val nesSessionId: SessionId = SessionId("nes-2") + + override suspend fun suggest(request: SuggestNesRequest): SuggestNesResponse { + return SuggestNesResponse( + suggestions = listOf( + NesSuggestion.Edit( + id = "s1", + uri = request.uri, + edits = listOf( + NesTextEdit( + range = NesRange(NesPosition(0u, 0u), NesPosition(0u, 3u)), + newText = "val" + ) + ) + ), + NesSuggestion.Jump( + id = "s2", + uri = "file:///other.kt", + position = NesPosition(10u, 0u) + ), + NesSuggestion.Rename( + id = "s3", + uri = request.uri, + position = NesPosition(5u, 4u), + newName = "newName" + ), + NesSuggestion.SearchAndReplace( + id = "s4", + uri = request.uri, + search = "old", + replace = "new", + isRegex = false + ) + ) + ) + } + } + } + }) + + client.initialize(ClientInfo()) + + val nesSession = client.startNesSession() + val response = nesSession.suggest( + uri = "file:///test.kt", + version = 1, + position = NesPosition(0u, 0u), + triggerKind = NesTriggerKind.MANUAL + ) + + assertEquals(4, response.suggestions.size) + assertTrue(response.suggestions[0] is NesSuggestion.Edit) + assertTrue(response.suggestions[1] is NesSuggestion.Jump) + assertTrue(response.suggestions[2] is NesSuggestion.Rename) + assertTrue(response.suggestions[3] is NesSuggestion.SearchAndReplace) + + val rename = response.suggestions[2] as NesSuggestion.Rename + assertEquals("newName", rename.newName) + + nesSession.close() + } + + @Test + fun `nes session with suggest context`() = testWithProtocols { clientProtocol, agentProtocol -> + val receivedContext = CompletableDeferred() + + val client = Client(protocol = clientProtocol) + Agent(protocol = agentProtocol, agentSupport = object : AgentSupport { + override suspend fun initialize(clientInfo: ClientInfo): AgentInfo { + return AgentInfo(clientInfo.protocolVersion, capabilities = AgentCapabilities( + nes = NesCapabilities( + context = NesContextCapabilities( + recentFiles = NesRecentFilesCapabilities(maxCount = 5), + diagnostics = NesDiagnosticsCapabilities() + ) + ) + )) + } + + override suspend fun createSession(sessionParameters: SessionCreationParameters): AgentSession { + TODO() + } + + override suspend fun createNesSession(request: StartNesRequest): NesAgentSession { + return object : NesAgentSession { + override val nesSessionId: SessionId = SessionId("nes-ctx") + + override suspend fun suggest(request: SuggestNesRequest): SuggestNesResponse { + receivedContext.complete(request.context) + return SuggestNesResponse(suggestions = emptyList()) + } + } + } + }) + + client.initialize(ClientInfo()) + + val nesSession = client.startNesSession() + val context = NesSuggestContext( + recentFiles = listOf( + NesRecentFile(uri = "file:///recent.kt", languageId = "kotlin", text = "fun recent() {}") + ), + diagnostics = listOf( + NesDiagnostic( + uri = "file:///test.kt", + range = NesRange(NesPosition(0u, 0u), NesPosition(0u, 10u)), + severity = NesDiagnosticSeverity.ERROR, + message = "Unresolved reference" + ) + ) + ) + + nesSession.suggest( + uri = "file:///test.kt", + version = 1, + position = NesPosition(0u, 5u), + triggerKind = NesTriggerKind.DIAGNOSTIC, + context = context + ) + + val received = receivedContext.await() + assertEquals(1, received?.recentFiles?.size) + assertEquals("file:///recent.kt", received?.recentFiles?.get(0)?.uri) + assertEquals(1, received?.diagnostics?.size) + assertEquals(NesDiagnosticSeverity.ERROR, received?.diagnostics?.get(0)?.severity) + + nesSession.close() + } + + @Test + fun `client operations are not available in nes session context`() = testWithProtocols { clientProtocol, agentProtocol -> + val errorDeferred = CompletableDeferred() + + val client = Client(protocol = clientProtocol) + Agent(protocol = agentProtocol, agentSupport = object : AgentSupport { + override suspend fun initialize(clientInfo: ClientInfo): AgentInfo { + return AgentInfo(clientInfo.protocolVersion, capabilities = AgentCapabilities(nes = NesCapabilities())) + } + + override suspend fun createSession(sessionParameters: SessionCreationParameters): AgentSession { + TODO() + } + + override suspend fun createNesSession(request: StartNesRequest): NesAgentSession { + return object : NesAgentSession { + override val nesSessionId: SessionId = SessionId("nes-no-client-ops") + + override suspend fun suggest(request: SuggestNesRequest): SuggestNesResponse { + val error = assertFailsWith { + currentCoroutineContext().client + } + errorDeferred.complete(error) + return SuggestNesResponse(suggestions = emptyList()) + } + } + } + }) + + client.initialize(ClientInfo()) + + val nesSession = client.startNesSession() + nesSession.suggest( + uri = "file:///test.kt", + version = 1, + position = NesPosition(0u, 0u), + triggerKind = NesTriggerKind.AUTOMATIC + ) + + val error = errorDeferred.await() + assertTrue(error.message!!.contains("not available for NES sessions")) + + nesSession.close() + } +} diff --git a/acp-ktor-test/src/jvmTest/kotlin/com/agentclientprotocol/StdioNesTest.kt b/acp-ktor-test/src/jvmTest/kotlin/com/agentclientprotocol/StdioNesTest.kt new file mode 100644 index 0000000..78b6635 --- /dev/null +++ b/acp-ktor-test/src/jvmTest/kotlin/com/agentclientprotocol/StdioNesTest.kt @@ -0,0 +1,5 @@ +package com.agentclientprotocol + +import com.agentclientprotocol.framework.StdioProtocolDriver + +class StdioNesTest : NesTest(StdioProtocolDriver()) diff --git a/acp-ktor-test/src/jvmTest/kotlin/com/agentclientprotocol/WebSocketNesTest.kt b/acp-ktor-test/src/jvmTest/kotlin/com/agentclientprotocol/WebSocketNesTest.kt new file mode 100644 index 0000000..ab906c2 --- /dev/null +++ b/acp-ktor-test/src/jvmTest/kotlin/com/agentclientprotocol/WebSocketNesTest.kt @@ -0,0 +1,5 @@ +package com.agentclientprotocol + +import com.agentclientprotocol.framework.WebSocketKtorProtocolDriver + +class WebSocketNesTest : NesTest(WebSocketKtorProtocolDriver()) diff --git a/acp-model/api/acp-model.api b/acp-model/api/acp-model.api index 28b6143..bbd1d9a 100644 --- a/acp-model/api/acp-model.api +++ b/acp-model/api/acp-model.api @@ -5,6 +5,38 @@ public final class com/agentclientprotocol/acpmodel/LibVersionKt { public abstract interface annotation class com/agentclientprotocol/annotations/UnstableApi : java/lang/annotation/Annotation { } +public final class com/agentclientprotocol/model/AcceptNesNotification : com/agentclientprotocol/model/AcpNotification, com/agentclientprotocol/model/AcpWithSessionId { + public static final field Companion Lcom/agentclientprotocol/model/AcceptNesNotification$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-7EW-EgU ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-nk3TnMc (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/AcceptNesNotification; + public static synthetic fun copy-nk3TnMc$default (Lcom/agentclientprotocol/model/AcceptNesNotification;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/AcceptNesNotification; + public fun equals (Ljava/lang/Object;)Z + public final fun getId ()Ljava/lang/String; + public fun getSessionId-7EW-EgU ()Ljava/lang/String; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/AcceptNesNotification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcceptNesNotification$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/AcceptNesNotification; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/AcceptNesNotification;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/AcceptNesNotification$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public abstract interface class com/agentclientprotocol/model/AcpCapabilities { } @@ -47,6 +79,26 @@ public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$Authenti public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$Authenticate; } +public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$DocumentDidChange : com/agentclientprotocol/model/AcpMethod$AcpSessionNotificationMethod { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$DocumentDidChange; +} + +public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$DocumentDidClose : com/agentclientprotocol/model/AcpMethod$AcpSessionNotificationMethod { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$DocumentDidClose; +} + +public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$DocumentDidFocus : com/agentclientprotocol/model/AcpMethod$AcpSessionNotificationMethod { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$DocumentDidFocus; +} + +public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$DocumentDidOpen : com/agentclientprotocol/model/AcpMethod$AcpSessionNotificationMethod { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$DocumentDidOpen; +} + +public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$DocumentDidSave : com/agentclientprotocol/model/AcpMethod$AcpSessionNotificationMethod { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$DocumentDidSave; +} + public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$Initialize : com/agentclientprotocol/model/AcpMethod$AcpRequestResponseMethod { public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$Initialize; } @@ -55,10 +107,34 @@ public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$Logout : public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$Logout; } +public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$NesAccept : com/agentclientprotocol/model/AcpMethod$AcpSessionNotificationMethod { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$NesAccept; +} + +public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$NesClose : com/agentclientprotocol/model/AcpMethod$AcpSessionRequestResponseMethod { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$NesClose; +} + +public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$NesReject : com/agentclientprotocol/model/AcpMethod$AcpSessionNotificationMethod { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$NesReject; +} + +public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$NesStart : com/agentclientprotocol/model/AcpMethod$AcpRequestResponseMethod { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$NesStart; +} + +public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$NesSuggest : com/agentclientprotocol/model/AcpMethod$AcpSessionRequestResponseMethod { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$NesSuggest; +} + public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$SessionCancel : com/agentclientprotocol/model/AcpMethod$AcpSessionNotificationMethod { public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$SessionCancel; } +public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$SessionClose : com/agentclientprotocol/model/AcpMethod$AcpSessionRequestResponseMethod { + public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$SessionClose; +} + public final class com/agentclientprotocol/model/AcpMethod$AgentMethods$SessionFork : com/agentclientprotocol/model/AcpMethod$AcpSessionRequestResponseMethod { public static final field INSTANCE Lcom/agentclientprotocol/model/AcpMethod$AgentMethods$SessionFork; } @@ -207,20 +283,24 @@ public final class com/agentclientprotocol/model/AgentAuthCapabilities$Companion public final class com/agentclientprotocol/model/AgentCapabilities : com/agentclientprotocol/model/AcpCapabilities, com/agentclientprotocol/model/AcpWithMeta { public static final field Companion Lcom/agentclientprotocol/model/AgentCapabilities$Companion; public fun ()V - public fun (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AgentAuthCapabilities;Lkotlinx/serialization/json/JsonElement;)V - public synthetic fun (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AgentAuthCapabilities;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AgentAuthCapabilities;Lcom/agentclientprotocol/model/NesCapabilities;Lcom/agentclientprotocol/model/PositionEncodingKind;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AgentAuthCapabilities;Lcom/agentclientprotocol/model/NesCapabilities;Lcom/agentclientprotocol/model/PositionEncodingKind;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Z public final fun component2 ()Lcom/agentclientprotocol/model/PromptCapabilities; public final fun component3 ()Lcom/agentclientprotocol/model/McpCapabilities; public final fun component4 ()Lcom/agentclientprotocol/model/SessionCapabilities; public final fun component5 ()Lcom/agentclientprotocol/model/AgentAuthCapabilities; - public final fun component6 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AgentAuthCapabilities;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/AgentCapabilities; - public static synthetic fun copy$default (Lcom/agentclientprotocol/model/AgentCapabilities;ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AgentAuthCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/AgentCapabilities; + public final fun component6 ()Lcom/agentclientprotocol/model/NesCapabilities; + public final fun component7 ()Lcom/agentclientprotocol/model/PositionEncodingKind; + public final fun component8 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AgentAuthCapabilities;Lcom/agentclientprotocol/model/NesCapabilities;Lcom/agentclientprotocol/model/PositionEncodingKind;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/AgentCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/AgentCapabilities;ZLcom/agentclientprotocol/model/PromptCapabilities;Lcom/agentclientprotocol/model/McpCapabilities;Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/AgentAuthCapabilities;Lcom/agentclientprotocol/model/NesCapabilities;Lcom/agentclientprotocol/model/PositionEncodingKind;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/AgentCapabilities; public fun equals (Ljava/lang/Object;)Z public final fun getAuth ()Lcom/agentclientprotocol/model/AgentAuthCapabilities; public final fun getLoadSession ()Z public final fun getMcpCapabilities ()Lcom/agentclientprotocol/model/McpCapabilities; + public final fun getNes ()Lcom/agentclientprotocol/model/NesCapabilities; + public final fun getPositionEncoding ()Lcom/agentclientprotocol/model/PositionEncodingKind; public final fun getPromptCapabilities ()Lcom/agentclientprotocol/model/PromptCapabilities; public final fun getSessionCapabilities ()Lcom/agentclientprotocol/model/SessionCapabilities; public fun get_meta ()Lkotlinx/serialization/json/JsonElement; @@ -307,6 +387,42 @@ public final class com/agentclientprotocol/model/AuthCapabilities$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class com/agentclientprotocol/model/AuthEnvVar : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/AuthEnvVar$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;ZZLkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;ZZLkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Z + public final fun component4 ()Z + public final fun component5 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Ljava/lang/String;Ljava/lang/String;ZZLkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/AuthEnvVar; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/AuthEnvVar;Ljava/lang/String;Ljava/lang/String;ZZLkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/AuthEnvVar; + public fun equals (Ljava/lang/Object;)Z + public final fun getLabel ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public final fun getOptional ()Z + public final fun getSecret ()Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/AuthEnvVar$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/AuthEnvVar$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/AuthEnvVar; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/AuthEnvVar;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/AuthEnvVar$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public abstract class com/agentclientprotocol/model/AuthMethod : com/agentclientprotocol/model/AcpWithMeta { public static final field Companion Lcom/agentclientprotocol/model/AuthMethod$Companion; public abstract fun getDescription ()Ljava/lang/String; @@ -354,22 +470,22 @@ public final class com/agentclientprotocol/model/AuthMethod$Companion { public final class com/agentclientprotocol/model/AuthMethod$EnvVarAuth : com/agentclientprotocol/model/AuthMethod { public static final field Companion Lcom/agentclientprotocol/model/AuthMethod$EnvVarAuth$Companion; - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1-YMWAytM ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; - public final fun component4 ()Ljava/lang/String; + public final fun component4 ()Ljava/util/List; public final fun component5 ()Ljava/lang/String; public final fun component6 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy-m41MkYg (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/AuthMethod$EnvVarAuth; - public static synthetic fun copy-m41MkYg$default (Lcom/agentclientprotocol/model/AuthMethod$EnvVarAuth;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/AuthMethod$EnvVarAuth; + public final fun copy-m41MkYg (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/AuthMethod$EnvVarAuth; + public static synthetic fun copy-m41MkYg$default (Lcom/agentclientprotocol/model/AuthMethod$EnvVarAuth;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/AuthMethod$EnvVarAuth; public fun equals (Ljava/lang/Object;)Z public fun getDescription ()Ljava/lang/String; public fun getId-YMWAytM ()Ljava/lang/String; public final fun getLink ()Ljava/lang/String; public fun getName ()Ljava/lang/String; - public final fun getVarName ()Ljava/lang/String; + public final fun getVars ()Ljava/util/List; public fun get_meta ()Lkotlinx/serialization/json/JsonElement; public fun hashCode ()I public fun toString ()Ljava/lang/String; @@ -693,17 +809,21 @@ public final class com/agentclientprotocol/model/CancelRequestNotification$Compa public final class com/agentclientprotocol/model/ClientCapabilities : com/agentclientprotocol/model/AcpCapabilities, com/agentclientprotocol/model/AcpWithMeta { public static final field Companion Lcom/agentclientprotocol/model/ClientCapabilities$Companion; public fun ()V - public fun (Lcom/agentclientprotocol/model/FileSystemCapability;ZLcom/agentclientprotocol/model/AuthCapabilities;Lkotlinx/serialization/json/JsonElement;)V - public synthetic fun (Lcom/agentclientprotocol/model/FileSystemCapability;ZLcom/agentclientprotocol/model/AuthCapabilities;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Lcom/agentclientprotocol/model/FileSystemCapability;ZLcom/agentclientprotocol/model/AuthCapabilities;Lcom/agentclientprotocol/model/ClientNesCapabilities;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lcom/agentclientprotocol/model/FileSystemCapability;ZLcom/agentclientprotocol/model/AuthCapabilities;Lcom/agentclientprotocol/model/ClientNesCapabilities;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Lcom/agentclientprotocol/model/FileSystemCapability; public final fun component2 ()Z public final fun component3 ()Lcom/agentclientprotocol/model/AuthCapabilities; - public final fun component4 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy (Lcom/agentclientprotocol/model/FileSystemCapability;ZLcom/agentclientprotocol/model/AuthCapabilities;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/ClientCapabilities; - public static synthetic fun copy$default (Lcom/agentclientprotocol/model/ClientCapabilities;Lcom/agentclientprotocol/model/FileSystemCapability;ZLcom/agentclientprotocol/model/AuthCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/ClientCapabilities; + public final fun component4 ()Lcom/agentclientprotocol/model/ClientNesCapabilities; + public final fun component5 ()Ljava/util/List; + public final fun component6 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lcom/agentclientprotocol/model/FileSystemCapability;ZLcom/agentclientprotocol/model/AuthCapabilities;Lcom/agentclientprotocol/model/ClientNesCapabilities;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/ClientCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/ClientCapabilities;Lcom/agentclientprotocol/model/FileSystemCapability;ZLcom/agentclientprotocol/model/AuthCapabilities;Lcom/agentclientprotocol/model/ClientNesCapabilities;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/ClientCapabilities; public fun equals (Ljava/lang/Object;)Z public final fun getAuth ()Lcom/agentclientprotocol/model/AuthCapabilities; public final fun getFs ()Lcom/agentclientprotocol/model/FileSystemCapability; + public final fun getNes ()Lcom/agentclientprotocol/model/ClientNesCapabilities; + public final fun getPositionEncodings ()Ljava/util/List; public final fun getTerminal ()Z public fun get_meta ()Lkotlinx/serialization/json/JsonElement; public fun hashCode ()I @@ -725,6 +845,159 @@ public final class com/agentclientprotocol/model/ClientCapabilities$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class com/agentclientprotocol/model/ClientNesCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/ClientNesCapabilities$Companion; + public fun ()V + public fun (Lcom/agentclientprotocol/model/NesJumpCapabilities;Lcom/agentclientprotocol/model/NesRenameCapabilities;Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lcom/agentclientprotocol/model/NesJumpCapabilities;Lcom/agentclientprotocol/model/NesRenameCapabilities;Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lcom/agentclientprotocol/model/NesJumpCapabilities; + public final fun component2 ()Lcom/agentclientprotocol/model/NesRenameCapabilities; + public final fun component3 ()Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities; + public final fun component4 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lcom/agentclientprotocol/model/NesJumpCapabilities;Lcom/agentclientprotocol/model/NesRenameCapabilities;Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/ClientNesCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/ClientNesCapabilities;Lcom/agentclientprotocol/model/NesJumpCapabilities;Lcom/agentclientprotocol/model/NesRenameCapabilities;Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/ClientNesCapabilities; + public fun equals (Ljava/lang/Object;)Z + public final fun getJump ()Lcom/agentclientprotocol/model/NesJumpCapabilities; + public final fun getRename ()Lcom/agentclientprotocol/model/NesRenameCapabilities; + public final fun getSearchAndReplace ()Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/ClientNesCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/ClientNesCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/ClientNesCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/ClientNesCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/ClientNesCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/CloseNesRequest : com/agentclientprotocol/model/AcpRequest, com/agentclientprotocol/model/AcpWithSessionId { + public static final field Companion Lcom/agentclientprotocol/model/CloseNesRequest$Companion; + public synthetic fun (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-7EW-EgU ()Ljava/lang/String; + public final fun component2 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-HxD9utI (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/CloseNesRequest; + public static synthetic fun copy-HxD9utI$default (Lcom/agentclientprotocol/model/CloseNesRequest;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/CloseNesRequest; + public fun equals (Ljava/lang/Object;)Z + public fun getSessionId-7EW-EgU ()Ljava/lang/String; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/CloseNesRequest$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/CloseNesRequest$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/CloseNesRequest; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/CloseNesRequest;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/CloseNesRequest$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/CloseNesResponse : com/agentclientprotocol/model/AcpResponse { + public static final field Companion Lcom/agentclientprotocol/model/CloseNesResponse$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/CloseNesResponse; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/CloseNesResponse;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/CloseNesResponse; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/CloseNesResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/CloseNesResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/CloseNesResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/CloseNesResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/CloseNesResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/CloseSessionRequest : com/agentclientprotocol/model/AcpRequest, com/agentclientprotocol/model/AcpWithSessionId { + public static final field Companion Lcom/agentclientprotocol/model/CloseSessionRequest$Companion; + public synthetic fun (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-7EW-EgU ()Ljava/lang/String; + public final fun component2 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-HxD9utI (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/CloseSessionRequest; + public static synthetic fun copy-HxD9utI$default (Lcom/agentclientprotocol/model/CloseSessionRequest;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/CloseSessionRequest; + public fun equals (Ljava/lang/Object;)Z + public fun getSessionId-7EW-EgU ()Ljava/lang/String; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/CloseSessionRequest$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/CloseSessionRequest$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/CloseSessionRequest; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/CloseSessionRequest;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/CloseSessionRequest$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/CloseSessionResponse : com/agentclientprotocol/model/AcpResponse { + public static final field Companion Lcom/agentclientprotocol/model/CloseSessionResponse$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/CloseSessionResponse; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/CloseSessionResponse;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/CloseSessionResponse; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/CloseSessionResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/CloseSessionResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/CloseSessionResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/CloseSessionResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/CloseSessionResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public abstract class com/agentclientprotocol/model/ContentBlock : com/agentclientprotocol/model/AcpWithMeta { public static final field Companion Lcom/agentclientprotocol/model/ContentBlock$Companion; public synthetic fun (ILkotlinx/serialization/internal/SerializationConstructorMarker;)V @@ -1014,125 +1287,301 @@ public final class com/agentclientprotocol/model/CreateTerminalResponse$Companio public final fun serializer ()Lkotlinx/serialization/KSerializer; } -public final class com/agentclientprotocol/model/EmbeddedResource : com/agentclientprotocol/model/AcpWithMeta { - public static final field Companion Lcom/agentclientprotocol/model/EmbeddedResource$Companion; - public fun (Lcom/agentclientprotocol/model/EmbeddedResourceResource;Lcom/agentclientprotocol/model/Annotations;Lkotlinx/serialization/json/JsonElement;)V - public synthetic fun (Lcom/agentclientprotocol/model/EmbeddedResourceResource;Lcom/agentclientprotocol/model/Annotations;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Lcom/agentclientprotocol/model/EmbeddedResourceResource; - public final fun component2 ()Lcom/agentclientprotocol/model/Annotations; - public final fun component3 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy (Lcom/agentclientprotocol/model/EmbeddedResourceResource;Lcom/agentclientprotocol/model/Annotations;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/EmbeddedResource; - public static synthetic fun copy$default (Lcom/agentclientprotocol/model/EmbeddedResource;Lcom/agentclientprotocol/model/EmbeddedResourceResource;Lcom/agentclientprotocol/model/Annotations;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/EmbeddedResource; +public final class com/agentclientprotocol/model/DidChangeDocumentNotification : com/agentclientprotocol/model/AcpNotification, com/agentclientprotocol/model/AcpWithSessionId { + public static final field Companion Lcom/agentclientprotocol/model/DidChangeDocumentNotification$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;JLjava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;JLjava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-7EW-EgU ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()J + public final fun component4 ()Ljava/util/List; + public final fun component5 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-8WrnS2s (Ljava/lang/String;Ljava/lang/String;JLjava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/DidChangeDocumentNotification; + public static synthetic fun copy-8WrnS2s$default (Lcom/agentclientprotocol/model/DidChangeDocumentNotification;Ljava/lang/String;Ljava/lang/String;JLjava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/DidChangeDocumentNotification; public fun equals (Ljava/lang/Object;)Z - public final fun getAnnotations ()Lcom/agentclientprotocol/model/Annotations; - public final fun getResource ()Lcom/agentclientprotocol/model/EmbeddedResourceResource; + public final fun getContentChanges ()Ljava/util/List; + public fun getSessionId-7EW-EgU ()Ljava/lang/String; + public final fun getUri ()Ljava/lang/String; + public final fun getVersion ()J public fun get_meta ()Lkotlinx/serialization/json/JsonElement; public fun hashCode ()I public fun toString ()Ljava/lang/String; } -public final synthetic class com/agentclientprotocol/model/EmbeddedResource$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Lcom/agentclientprotocol/model/EmbeddedResource$$serializer; +public final synthetic class com/agentclientprotocol/model/DidChangeDocumentNotification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/DidChangeDocumentNotification$$serializer; public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/EmbeddedResource; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/DidChangeDocumentNotification; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/EmbeddedResource;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/DidChangeDocumentNotification;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } -public final class com/agentclientprotocol/model/EmbeddedResource$Companion { +public final class com/agentclientprotocol/model/DidChangeDocumentNotification$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } -public abstract class com/agentclientprotocol/model/EmbeddedResourceResource : com/agentclientprotocol/model/AcpWithMeta { - public static final field Companion Lcom/agentclientprotocol/model/EmbeddedResourceResource$Companion; -} - -public final class com/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents : com/agentclientprotocol/model/EmbeddedResourceResource { - public static final field Companion Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents$Companion; - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Ljava/lang/String; +public final class com/agentclientprotocol/model/DidCloseDocumentNotification : com/agentclientprotocol/model/AcpNotification, com/agentclientprotocol/model/AcpWithSessionId { + public static final field Companion Lcom/agentclientprotocol/model/DidCloseDocumentNotification$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-7EW-EgU ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; - public final fun component3 ()Ljava/lang/String; - public final fun component4 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents; - public static synthetic fun copy$default (Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents; + public final fun component3 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-nk3TnMc (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/DidCloseDocumentNotification; + public static synthetic fun copy-nk3TnMc$default (Lcom/agentclientprotocol/model/DidCloseDocumentNotification;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/DidCloseDocumentNotification; public fun equals (Ljava/lang/Object;)Z - public final fun getBlob ()Ljava/lang/String; - public final fun getMimeType ()Ljava/lang/String; + public fun getSessionId-7EW-EgU ()Ljava/lang/String; public final fun getUri ()Ljava/lang/String; public fun get_meta ()Lkotlinx/serialization/json/JsonElement; public fun hashCode ()I public fun toString ()Ljava/lang/String; } -public final synthetic class com/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents$$serializer; +public final synthetic class com/agentclientprotocol/model/DidCloseDocumentNotification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/DidCloseDocumentNotification$$serializer; public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/DidCloseDocumentNotification; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/DidCloseDocumentNotification;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } -public final class com/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents$Companion { - public final fun serializer ()Lkotlinx/serialization/KSerializer; -} - -public final class com/agentclientprotocol/model/EmbeddedResourceResource$Companion { +public final class com/agentclientprotocol/model/DidCloseDocumentNotification$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } -public final class com/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents : com/agentclientprotocol/model/EmbeddedResourceResource { - public static final field Companion Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents$Companion; - public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Ljava/lang/String; +public final class com/agentclientprotocol/model/DidFocusDocumentNotification : com/agentclientprotocol/model/AcpNotification, com/agentclientprotocol/model/AcpWithSessionId { + public static final field Companion Lcom/agentclientprotocol/model/DidFocusDocumentNotification$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-7EW-EgU ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; - public final fun component3 ()Ljava/lang/String; - public final fun component4 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents; - public static synthetic fun copy$default (Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents; + public final fun component3 ()J + public final fun component4 ()Lcom/agentclientprotocol/model/NesPosition; + public final fun component5 ()Lcom/agentclientprotocol/model/NesRange; + public final fun component6 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-PBEKwEQ (Ljava/lang/String;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/DidFocusDocumentNotification; + public static synthetic fun copy-PBEKwEQ$default (Lcom/agentclientprotocol/model/DidFocusDocumentNotification;Ljava/lang/String;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/DidFocusDocumentNotification; public fun equals (Ljava/lang/Object;)Z - public final fun getMimeType ()Ljava/lang/String; - public final fun getText ()Ljava/lang/String; + public final fun getPosition ()Lcom/agentclientprotocol/model/NesPosition; + public fun getSessionId-7EW-EgU ()Ljava/lang/String; public final fun getUri ()Ljava/lang/String; + public final fun getVersion ()J + public final fun getVisibleRange ()Lcom/agentclientprotocol/model/NesRange; public fun get_meta ()Lkotlinx/serialization/json/JsonElement; public fun hashCode ()I public fun toString ()Ljava/lang/String; } -public final synthetic class com/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents$$serializer; +public final synthetic class com/agentclientprotocol/model/DidFocusDocumentNotification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/DidFocusDocumentNotification$$serializer; public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/DidFocusDocumentNotification; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/DidFocusDocumentNotification;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } -public final class com/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents$Companion { +public final class com/agentclientprotocol/model/DidFocusDocumentNotification$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } -public final class com/agentclientprotocol/model/EnvVariable : com/agentclientprotocol/model/AcpWithMeta { - public static final field Companion Lcom/agentclientprotocol/model/EnvVariable$Companion; - public fun (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1 ()Ljava/lang/String; +public final class com/agentclientprotocol/model/DidOpenDocumentNotification : com/agentclientprotocol/model/AcpNotification, com/agentclientprotocol/model/AcpWithSessionId { + public static final field Companion Lcom/agentclientprotocol/model/DidOpenDocumentNotification$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-7EW-EgU ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; - public final fun component3 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/EnvVariable; - public static synthetic fun copy$default (Lcom/agentclientprotocol/model/EnvVariable;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/EnvVariable; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()J + public final fun component5 ()Ljava/lang/String; + public final fun component6 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-PBEKwEQ (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/DidOpenDocumentNotification; + public static synthetic fun copy-PBEKwEQ$default (Lcom/agentclientprotocol/model/DidOpenDocumentNotification;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/DidOpenDocumentNotification; public fun equals (Ljava/lang/Object;)Z - public final fun getName ()Ljava/lang/String; + public final fun getLanguageId ()Ljava/lang/String; + public fun getSessionId-7EW-EgU ()Ljava/lang/String; + public final fun getText ()Ljava/lang/String; + public final fun getUri ()Ljava/lang/String; + public final fun getVersion ()J + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/DidOpenDocumentNotification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/DidOpenDocumentNotification$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/DidOpenDocumentNotification; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/DidOpenDocumentNotification;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/DidOpenDocumentNotification$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/DidSaveDocumentNotification : com/agentclientprotocol/model/AcpNotification, com/agentclientprotocol/model/AcpWithSessionId { + public static final field Companion Lcom/agentclientprotocol/model/DidSaveDocumentNotification$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-7EW-EgU ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-nk3TnMc (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/DidSaveDocumentNotification; + public static synthetic fun copy-nk3TnMc$default (Lcom/agentclientprotocol/model/DidSaveDocumentNotification;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/DidSaveDocumentNotification; + public fun equals (Ljava/lang/Object;)Z + public fun getSessionId-7EW-EgU ()Ljava/lang/String; + public final fun getUri ()Ljava/lang/String; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/DidSaveDocumentNotification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/DidSaveDocumentNotification$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/DidSaveDocumentNotification; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/DidSaveDocumentNotification;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/DidSaveDocumentNotification$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/EmbeddedResource : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/EmbeddedResource$Companion; + public fun (Lcom/agentclientprotocol/model/EmbeddedResourceResource;Lcom/agentclientprotocol/model/Annotations;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lcom/agentclientprotocol/model/EmbeddedResourceResource;Lcom/agentclientprotocol/model/Annotations;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lcom/agentclientprotocol/model/EmbeddedResourceResource; + public final fun component2 ()Lcom/agentclientprotocol/model/Annotations; + public final fun component3 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lcom/agentclientprotocol/model/EmbeddedResourceResource;Lcom/agentclientprotocol/model/Annotations;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/EmbeddedResource; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/EmbeddedResource;Lcom/agentclientprotocol/model/EmbeddedResourceResource;Lcom/agentclientprotocol/model/Annotations;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/EmbeddedResource; + public fun equals (Ljava/lang/Object;)Z + public final fun getAnnotations ()Lcom/agentclientprotocol/model/Annotations; + public final fun getResource ()Lcom/agentclientprotocol/model/EmbeddedResourceResource; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/EmbeddedResource$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/EmbeddedResource$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/EmbeddedResource; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/EmbeddedResource;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/EmbeddedResource$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract class com/agentclientprotocol/model/EmbeddedResourceResource : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/EmbeddedResourceResource$Companion; +} + +public final class com/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents : com/agentclientprotocol/model/EmbeddedResourceResource { + public static final field Companion Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents; + public fun equals (Ljava/lang/Object;)Z + public final fun getBlob ()Ljava/lang/String; + public final fun getMimeType ()Ljava/lang/String; + public final fun getUri ()Ljava/lang/String; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/EmbeddedResourceResource$BlobResourceContents$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/EmbeddedResourceResource$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents : com/agentclientprotocol/model/EmbeddedResourceResource { + public static final field Companion Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents; + public fun equals (Ljava/lang/Object;)Z + public final fun getMimeType ()Ljava/lang/String; + public final fun getText ()Ljava/lang/String; + public final fun getUri ()Ljava/lang/String; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/EmbeddedResourceResource$TextResourceContents$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/EnvVariable : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/EnvVariable$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/EnvVariable; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/EnvVariable;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/EnvVariable; + public fun equals (Ljava/lang/Object;)Z + public final fun getName ()Ljava/lang/String; public final fun getValue ()Ljava/lang/String; public fun get_meta ()Lkotlinx/serialization/json/JsonElement; public fun hashCode ()I @@ -1189,15 +1638,17 @@ public final class com/agentclientprotocol/model/FileSystemCapability$Companion public final class com/agentclientprotocol/model/ForkSessionRequest : com/agentclientprotocol/model/AcpRequest, com/agentclientprotocol/model/AcpWithSessionId { public static final field Companion Lcom/agentclientprotocol/model/ForkSessionRequest$Companion; - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1-7EW-EgU ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/util/List; - public final fun component4 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy-wPMwmcM (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/ForkSessionRequest; - public static synthetic fun copy-wPMwmcM$default (Lcom/agentclientprotocol/model/ForkSessionRequest;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/ForkSessionRequest; + public final fun component4 ()Ljava/util/List; + public final fun component5 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-8WrnS2s (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/ForkSessionRequest; + public static synthetic fun copy-8WrnS2s$default (Lcom/agentclientprotocol/model/ForkSessionRequest;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/ForkSessionRequest; public fun equals (Ljava/lang/Object;)Z + public final fun getAdditionalDirectories ()Ljava/util/List; public final fun getCwd ()Ljava/lang/String; public final fun getMcpServers ()Ljava/util/List; public fun getSessionId-7EW-EgU ()Ljava/lang/String; @@ -1522,15 +1973,17 @@ public final class com/agentclientprotocol/model/ListSessionsResponse$Companion public final class com/agentclientprotocol/model/LoadSessionRequest : com/agentclientprotocol/model/AcpRequest, com/agentclientprotocol/model/AcpWithSessionId { public static final field Companion Lcom/agentclientprotocol/model/LoadSessionRequest$Companion; - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1-7EW-EgU ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/util/List; - public final fun component4 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy-wPMwmcM (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/LoadSessionRequest; - public static synthetic fun copy-wPMwmcM$default (Lcom/agentclientprotocol/model/LoadSessionRequest;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/LoadSessionRequest; + public final fun component4 ()Ljava/util/List; + public final fun component5 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-8WrnS2s (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/LoadSessionRequest; + public static synthetic fun copy-8WrnS2s$default (Lcom/agentclientprotocol/model/LoadSessionRequest;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/LoadSessionRequest; public fun equals (Ljava/lang/Object;)Z + public final fun getAdditionalDirectories ()Ljava/util/List; public final fun getCwd ()Ljava/lang/String; public final fun getMcpServers ()Ljava/util/List; public fun getSessionId-7EW-EgU ()Ljava/lang/String; @@ -1824,101 +2277,1228 @@ public final class com/agentclientprotocol/model/MessageId { public static final fun equals-impl0 (Ljava/lang/String;Ljava/lang/String;)Z public final fun getValue ()Ljava/lang/String; public fun hashCode ()I - public static fun hashCode-impl (Ljava/lang/String;)I + public static fun hashCode-impl (Ljava/lang/String;)I + public fun toString ()Ljava/lang/String; + public static fun toString-impl (Ljava/lang/String;)Ljava/lang/String; + public final synthetic fun unbox-impl ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/MessageId$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/MessageId$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize-D4v84t0 (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/String; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize-XmIeEkI (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/MessageId$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/ModelId { + public static final field Companion Lcom/agentclientprotocol/model/ModelId$Companion; + public static final synthetic fun box-impl (Ljava/lang/String;)Lcom/agentclientprotocol/model/ModelId; + public static fun constructor-impl (Ljava/lang/String;)Ljava/lang/String; + public fun equals (Ljava/lang/Object;)Z + public static fun equals-impl (Ljava/lang/String;Ljava/lang/Object;)Z + public static final fun equals-impl0 (Ljava/lang/String;Ljava/lang/String;)Z + public final fun getValue ()Ljava/lang/String; + public fun hashCode ()I + public static fun hashCode-impl (Ljava/lang/String;)I + public fun toString ()Ljava/lang/String; + public static fun toString-impl (Ljava/lang/String;)Ljava/lang/String; + public final synthetic fun unbox-impl ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/ModelId$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/ModelId$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun deserialize-jA97qFM (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/String; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public final fun serialize-9osuBzc (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/ModelId$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/ModelInfo : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/ModelInfo$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-GMZLII8 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-CQJBIKI (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/ModelInfo; + public static synthetic fun copy-CQJBIKI$default (Lcom/agentclientprotocol/model/ModelInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/ModelInfo; + public fun equals (Ljava/lang/Object;)Z + public final fun getDescription ()Ljava/lang/String; + public final fun getModelId-GMZLII8 ()Ljava/lang/String; + public final fun getName ()Ljava/lang/String; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/ModelInfo$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/ModelInfo$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/ModelInfo; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/ModelInfo;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/ModelInfo$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesCapabilities$Companion; + public fun ()V + public fun (Lcom/agentclientprotocol/model/NesEventCapabilities;Lcom/agentclientprotocol/model/NesContextCapabilities;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lcom/agentclientprotocol/model/NesEventCapabilities;Lcom/agentclientprotocol/model/NesContextCapabilities;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lcom/agentclientprotocol/model/NesEventCapabilities; + public final fun component2 ()Lcom/agentclientprotocol/model/NesContextCapabilities; + public final fun component3 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lcom/agentclientprotocol/model/NesEventCapabilities;Lcom/agentclientprotocol/model/NesContextCapabilities;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesCapabilities;Lcom/agentclientprotocol/model/NesEventCapabilities;Lcom/agentclientprotocol/model/NesContextCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesCapabilities; + public fun equals (Ljava/lang/Object;)Z + public final fun getContext ()Lcom/agentclientprotocol/model/NesContextCapabilities; + public final fun getEvents ()Lcom/agentclientprotocol/model/NesEventCapabilities; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesContextCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesContextCapabilities$Companion; + public fun ()V + public fun (Lcom/agentclientprotocol/model/NesRecentFilesCapabilities;Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities;Lcom/agentclientprotocol/model/NesEditHistoryCapabilities;Lcom/agentclientprotocol/model/NesUserActionsCapabilities;Lcom/agentclientprotocol/model/NesOpenFilesCapabilities;Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lcom/agentclientprotocol/model/NesRecentFilesCapabilities;Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities;Lcom/agentclientprotocol/model/NesEditHistoryCapabilities;Lcom/agentclientprotocol/model/NesUserActionsCapabilities;Lcom/agentclientprotocol/model/NesOpenFilesCapabilities;Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lcom/agentclientprotocol/model/NesRecentFilesCapabilities; + public final fun component2 ()Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities; + public final fun component3 ()Lcom/agentclientprotocol/model/NesEditHistoryCapabilities; + public final fun component4 ()Lcom/agentclientprotocol/model/NesUserActionsCapabilities; + public final fun component5 ()Lcom/agentclientprotocol/model/NesOpenFilesCapabilities; + public final fun component6 ()Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities; + public final fun component7 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lcom/agentclientprotocol/model/NesRecentFilesCapabilities;Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities;Lcom/agentclientprotocol/model/NesEditHistoryCapabilities;Lcom/agentclientprotocol/model/NesUserActionsCapabilities;Lcom/agentclientprotocol/model/NesOpenFilesCapabilities;Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesContextCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesContextCapabilities;Lcom/agentclientprotocol/model/NesRecentFilesCapabilities;Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities;Lcom/agentclientprotocol/model/NesEditHistoryCapabilities;Lcom/agentclientprotocol/model/NesUserActionsCapabilities;Lcom/agentclientprotocol/model/NesOpenFilesCapabilities;Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesContextCapabilities; + public fun equals (Ljava/lang/Object;)Z + public final fun getDiagnostics ()Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities; + public final fun getEditHistory ()Lcom/agentclientprotocol/model/NesEditHistoryCapabilities; + public final fun getOpenFiles ()Lcom/agentclientprotocol/model/NesOpenFilesCapabilities; + public final fun getRecentFiles ()Lcom/agentclientprotocol/model/NesRecentFilesCapabilities; + public final fun getRelatedSnippets ()Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities; + public final fun getUserActions ()Lcom/agentclientprotocol/model/NesUserActionsCapabilities; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesContextCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesContextCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesContextCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesContextCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesContextCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDiagnostic { + public static final field Companion Lcom/agentclientprotocol/model/NesDiagnostic$Companion; + public fun (Ljava/lang/String;Lcom/agentclientprotocol/model/NesRange;Lcom/agentclientprotocol/model/NesDiagnosticSeverity;Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Lcom/agentclientprotocol/model/NesRange; + public final fun component3 ()Lcom/agentclientprotocol/model/NesDiagnosticSeverity; + public final fun component4 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Lcom/agentclientprotocol/model/NesRange;Lcom/agentclientprotocol/model/NesDiagnosticSeverity;Ljava/lang/String;)Lcom/agentclientprotocol/model/NesDiagnostic; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesDiagnostic;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRange;Lcom/agentclientprotocol/model/NesDiagnosticSeverity;Ljava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesDiagnostic; + public fun equals (Ljava/lang/Object;)Z + public final fun getMessage ()Ljava/lang/String; + public final fun getRange ()Lcom/agentclientprotocol/model/NesRange; + public final fun getSeverity ()Lcom/agentclientprotocol/model/NesDiagnosticSeverity; + public final fun getUri ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesDiagnostic$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesDiagnostic$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesDiagnostic; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesDiagnostic;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDiagnostic$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDiagnosticSeverity : java/lang/Enum { + public static final field Companion Lcom/agentclientprotocol/model/NesDiagnosticSeverity$Companion; + public static final field ERROR Lcom/agentclientprotocol/model/NesDiagnosticSeverity; + public static final field HINT Lcom/agentclientprotocol/model/NesDiagnosticSeverity; + public static final field INFORMATION Lcom/agentclientprotocol/model/NesDiagnosticSeverity; + public static final field WARNING Lcom/agentclientprotocol/model/NesDiagnosticSeverity; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lcom/agentclientprotocol/model/NesDiagnosticSeverity; + public static fun values ()[Lcom/agentclientprotocol/model/NesDiagnosticSeverity; +} + +public final class com/agentclientprotocol/model/NesDiagnosticSeverity$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDiagnosticsCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesDiagnosticsCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesDiagnosticsCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDiagnosticsCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentDidChangeCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities$Companion; + public fun (Lcom/agentclientprotocol/model/TextDocumentSyncKind;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lcom/agentclientprotocol/model/TextDocumentSyncKind;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lcom/agentclientprotocol/model/TextDocumentSyncKind; + public final fun component2 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lcom/agentclientprotocol/model/TextDocumentSyncKind;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities;Lcom/agentclientprotocol/model/TextDocumentSyncKind;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities; + public fun equals (Ljava/lang/Object;)Z + public final fun getSyncKind ()Lcom/agentclientprotocol/model/TextDocumentSyncKind; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesDocumentDidChangeCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentDidChangeCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentDidCloseCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesDocumentDidCloseCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentDidCloseCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentDidFocusCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesDocumentDidFocusCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentDidFocusCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentDidOpenCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesDocumentDidOpenCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentDidOpenCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentDidSaveCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesDocumentDidSaveCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentDidSaveCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentEventCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesDocumentEventCapabilities$Companion; + public fun ()V + public fun (Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities; + public final fun component2 ()Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities; + public final fun component3 ()Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities; + public final fun component4 ()Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities; + public final fun component5 ()Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities; + public final fun component6 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesDocumentEventCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesDocumentEventCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities;Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesDocumentEventCapabilities; + public fun equals (Ljava/lang/Object;)Z + public final fun getDidChange ()Lcom/agentclientprotocol/model/NesDocumentDidChangeCapabilities; + public final fun getDidClose ()Lcom/agentclientprotocol/model/NesDocumentDidCloseCapabilities; + public final fun getDidFocus ()Lcom/agentclientprotocol/model/NesDocumentDidFocusCapabilities; + public final fun getDidOpen ()Lcom/agentclientprotocol/model/NesDocumentDidOpenCapabilities; + public final fun getDidSave ()Lcom/agentclientprotocol/model/NesDocumentDidSaveCapabilities; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesDocumentEventCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesDocumentEventCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesDocumentEventCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesDocumentEventCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesDocumentEventCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesEditHistoryCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesEditHistoryCapabilities$Companion; + public fun ()V + public fun (Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/Integer; + public final fun component2 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesEditHistoryCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesEditHistoryCapabilities;Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesEditHistoryCapabilities; + public fun equals (Ljava/lang/Object;)Z + public final fun getMaxCount ()Ljava/lang/Integer; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesEditHistoryCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesEditHistoryCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesEditHistoryCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesEditHistoryCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesEditHistoryCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesEditHistoryEntry { + public static final field Companion Lcom/agentclientprotocol/model/NesEditHistoryEntry$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lcom/agentclientprotocol/model/NesEditHistoryEntry; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesEditHistoryEntry;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesEditHistoryEntry; + public fun equals (Ljava/lang/Object;)Z + public final fun getDiff ()Ljava/lang/String; + public final fun getUri ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesEditHistoryEntry$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesEditHistoryEntry$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesEditHistoryEntry; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesEditHistoryEntry;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesEditHistoryEntry$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesEventCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesEventCapabilities$Companion; + public fun ()V + public fun (Lcom/agentclientprotocol/model/NesDocumentEventCapabilities;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lcom/agentclientprotocol/model/NesDocumentEventCapabilities;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lcom/agentclientprotocol/model/NesDocumentEventCapabilities; + public final fun component2 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lcom/agentclientprotocol/model/NesDocumentEventCapabilities;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesEventCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesEventCapabilities;Lcom/agentclientprotocol/model/NesDocumentEventCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesEventCapabilities; + public fun equals (Ljava/lang/Object;)Z + public final fun getDocument ()Lcom/agentclientprotocol/model/NesDocumentEventCapabilities; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesEventCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesEventCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesEventCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesEventCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesEventCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesExcerpt { + public static final field Companion Lcom/agentclientprotocol/model/NesExcerpt$Companion; + public synthetic fun (IILjava/lang/String;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-pVg5ArA ()I + public final fun component2-pVg5ArA ()I + public final fun component3 ()Ljava/lang/String; + public final fun copy-t3GQkyU (IILjava/lang/String;)Lcom/agentclientprotocol/model/NesExcerpt; + public static synthetic fun copy-t3GQkyU$default (Lcom/agentclientprotocol/model/NesExcerpt;IILjava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesExcerpt; + public fun equals (Ljava/lang/Object;)Z + public final fun getEndLine-pVg5ArA ()I + public final fun getStartLine-pVg5ArA ()I + public final fun getText ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesExcerpt$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesExcerpt$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesExcerpt; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesExcerpt;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesExcerpt$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesJumpCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesJumpCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesJumpCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesJumpCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesJumpCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesJumpCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesJumpCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesJumpCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesJumpCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesJumpCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesOpenFile { + public static final field Companion Lcom/agentclientprotocol/model/NesOpenFile$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRange;Lkotlin/ULong;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRange;Lkotlin/ULong;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lcom/agentclientprotocol/model/NesRange; + public final fun component4-6VbMDqA ()Lkotlin/ULong; + public final fun copy-nRXsjtY (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRange;Lkotlin/ULong;)Lcom/agentclientprotocol/model/NesOpenFile; + public static synthetic fun copy-nRXsjtY$default (Lcom/agentclientprotocol/model/NesOpenFile;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRange;Lkotlin/ULong;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesOpenFile; + public fun equals (Ljava/lang/Object;)Z + public final fun getLanguageId ()Ljava/lang/String; + public final fun getLastFocusedMs-6VbMDqA ()Lkotlin/ULong; + public final fun getUri ()Ljava/lang/String; + public final fun getVisibleRange ()Lcom/agentclientprotocol/model/NesRange; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesOpenFile$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesOpenFile$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesOpenFile; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesOpenFile;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesOpenFile$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesOpenFilesCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesOpenFilesCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesOpenFilesCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesOpenFilesCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesOpenFilesCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesOpenFilesCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesOpenFilesCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesOpenFilesCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesOpenFilesCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesOpenFilesCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesPosition { + public static final field Companion Lcom/agentclientprotocol/model/NesPosition$Companion; + public synthetic fun (IILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-pVg5ArA ()I + public final fun component2-pVg5ArA ()I + public final fun copy-feOb9K0 (II)Lcom/agentclientprotocol/model/NesPosition; + public static synthetic fun copy-feOb9K0$default (Lcom/agentclientprotocol/model/NesPosition;IIILjava/lang/Object;)Lcom/agentclientprotocol/model/NesPosition; + public fun equals (Ljava/lang/Object;)Z + public final fun getCharacter-pVg5ArA ()I + public final fun getLine-pVg5ArA ()I + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesPosition$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesPosition$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesPosition; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesPosition;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesPosition$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRange { + public static final field Companion Lcom/agentclientprotocol/model/NesRange$Companion; + public fun (Lcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesPosition;)V + public final fun component1 ()Lcom/agentclientprotocol/model/NesPosition; + public final fun component2 ()Lcom/agentclientprotocol/model/NesPosition; + public final fun copy (Lcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesPosition;)Lcom/agentclientprotocol/model/NesRange; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesRange;Lcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesPosition;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesRange; + public fun equals (Ljava/lang/Object;)Z + public final fun getEnd ()Lcom/agentclientprotocol/model/NesPosition; + public final fun getStart ()Lcom/agentclientprotocol/model/NesPosition; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesRange$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesRange$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesRange; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesRange;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRange$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRecentFile { + public static final field Companion Lcom/agentclientprotocol/model/NesRecentFile$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/agentclientprotocol/model/NesRecentFile; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesRecentFile;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesRecentFile; + public fun equals (Ljava/lang/Object;)Z + public final fun getLanguageId ()Ljava/lang/String; + public final fun getText ()Ljava/lang/String; + public final fun getUri ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesRecentFile$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesRecentFile$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesRecentFile; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesRecentFile;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRecentFile$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRecentFilesCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesRecentFilesCapabilities$Companion; + public fun ()V + public fun (Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/Integer; + public final fun component2 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesRecentFilesCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesRecentFilesCapabilities;Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesRecentFilesCapabilities; + public fun equals (Ljava/lang/Object;)Z + public final fun getMaxCount ()Ljava/lang/Integer; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesRecentFilesCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesRecentFilesCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesRecentFilesCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesRecentFilesCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRecentFilesCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRejectReason : java/lang/Enum { + public static final field CANCELLED Lcom/agentclientprotocol/model/NesRejectReason; + public static final field Companion Lcom/agentclientprotocol/model/NesRejectReason$Companion; + public static final field IGNORED Lcom/agentclientprotocol/model/NesRejectReason; + public static final field REJECTED Lcom/agentclientprotocol/model/NesRejectReason; + public static final field REPLACED Lcom/agentclientprotocol/model/NesRejectReason; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lcom/agentclientprotocol/model/NesRejectReason; + public static fun values ()[Lcom/agentclientprotocol/model/NesRejectReason; +} + +public final class com/agentclientprotocol/model/NesRejectReason$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRelatedSnippet { + public static final field Companion Lcom/agentclientprotocol/model/NesRelatedSnippet$Companion; + public fun (Ljava/lang/String;Ljava/util/List;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/util/List; + public final fun copy (Ljava/lang/String;Ljava/util/List;)Lcom/agentclientprotocol/model/NesRelatedSnippet; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesRelatedSnippet;Ljava/lang/String;Ljava/util/List;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesRelatedSnippet; + public fun equals (Ljava/lang/Object;)Z + public final fun getExcerpts ()Ljava/util/List; + public final fun getUri ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesRelatedSnippet$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesRelatedSnippet$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesRelatedSnippet; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesRelatedSnippet;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRelatedSnippet$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRelatedSnippetsCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesRelatedSnippetsCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesRelatedSnippetsCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRelatedSnippetsCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRenameCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesRenameCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesRenameCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesRenameCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesRenameCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesRenameCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesRenameCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesRenameCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesRenameCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRenameCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRepository { + public static final field Companion Lcom/agentclientprotocol/model/NesRepository$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/agentclientprotocol/model/NesRepository; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesRepository;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesRepository; + public fun equals (Ljava/lang/Object;)Z + public final fun getName ()Ljava/lang/String; + public final fun getOwner ()Ljava/lang/String; + public final fun getRemoteUrl ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesRepository$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesRepository$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesRepository; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesRepository;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesRepository$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSearchAndReplaceCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesSearchAndReplaceCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesSearchAndReplaceCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSearchAndReplaceCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSuggestContext : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesSuggestContext$Companion; + public fun ()V + public fun (Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Ljava/util/List; + public final fun component3 ()Ljava/util/List; + public final fun component4 ()Ljava/util/List; + public final fun component5 ()Ljava/util/List; + public final fun component6 ()Ljava/util/List; + public final fun component7 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesSuggestContext; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesSuggestContext;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesSuggestContext; + public fun equals (Ljava/lang/Object;)Z + public final fun getDiagnostics ()Ljava/util/List; + public final fun getEditHistory ()Ljava/util/List; + public final fun getOpenFiles ()Ljava/util/List; + public final fun getRecentFiles ()Ljava/util/List; + public final fun getRelatedSnippets ()Ljava/util/List; + public final fun getUserActions ()Ljava/util/List; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesSuggestContext$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesSuggestContext$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesSuggestContext; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesSuggestContext;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSuggestContext$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public abstract class com/agentclientprotocol/model/NesSuggestion { + public static final field Companion Lcom/agentclientprotocol/model/NesSuggestion$Companion; + public synthetic fun (ILkotlinx/serialization/internal/SerializationConstructorMarker;)V + public abstract fun getId ()Ljava/lang/String; + public static final synthetic fun write$Self (Lcom/agentclientprotocol/model/NesSuggestion;Lkotlinx/serialization/encoding/CompositeEncoder;Lkotlinx/serialization/descriptors/SerialDescriptor;)V +} + +public final class com/agentclientprotocol/model/NesSuggestion$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSuggestion$Edit : com/agentclientprotocol/model/NesSuggestion { + public static final field Companion Lcom/agentclientprotocol/model/NesSuggestion$Edit$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/agentclientprotocol/model/NesPosition;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/agentclientprotocol/model/NesPosition;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/util/List; + public final fun component4 ()Lcom/agentclientprotocol/model/NesPosition; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/agentclientprotocol/model/NesPosition;)Lcom/agentclientprotocol/model/NesSuggestion$Edit; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesSuggestion$Edit;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lcom/agentclientprotocol/model/NesPosition;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesSuggestion$Edit; + public fun equals (Ljava/lang/Object;)Z + public final fun getCursorPosition ()Lcom/agentclientprotocol/model/NesPosition; + public final fun getEdits ()Ljava/util/List; + public fun getId ()Ljava/lang/String; + public final fun getUri ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesSuggestion$Edit$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesSuggestion$Edit$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesSuggestion$Edit; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesSuggestion$Edit;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSuggestion$Edit$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSuggestion$Jump : com/agentclientprotocol/model/NesSuggestion { + public static final field Companion Lcom/agentclientprotocol/model/NesSuggestion$Jump$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesPosition;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lcom/agentclientprotocol/model/NesPosition; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesPosition;)Lcom/agentclientprotocol/model/NesSuggestion$Jump; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesSuggestion$Jump;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesPosition;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesSuggestion$Jump; + public fun equals (Ljava/lang/Object;)Z + public fun getId ()Ljava/lang/String; + public final fun getPosition ()Lcom/agentclientprotocol/model/NesPosition; + public final fun getUri ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesSuggestion$Jump$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesSuggestion$Jump$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesSuggestion$Jump; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesSuggestion$Jump;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSuggestion$Jump$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSuggestion$Rename : com/agentclientprotocol/model/NesSuggestion { + public static final field Companion Lcom/agentclientprotocol/model/NesSuggestion$Rename$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesPosition;Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lcom/agentclientprotocol/model/NesPosition; + public final fun component4 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesPosition;Ljava/lang/String;)Lcom/agentclientprotocol/model/NesSuggestion$Rename; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesSuggestion$Rename;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesPosition;Ljava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesSuggestion$Rename; + public fun equals (Ljava/lang/Object;)Z + public fun getId ()Ljava/lang/String; + public final fun getNewName ()Ljava/lang/String; + public final fun getPosition ()Lcom/agentclientprotocol/model/NesPosition; + public final fun getUri ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesSuggestion$Rename$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesSuggestion$Rename$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesSuggestion$Rename; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesSuggestion$Rename;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSuggestion$Rename$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSuggestion$SearchAndReplace : com/agentclientprotocol/model/NesSuggestion { + public static final field Companion Lcom/agentclientprotocol/model/NesSuggestion$SearchAndReplace$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Ljava/lang/String; + public final fun component4 ()Ljava/lang/String; + public final fun component5 ()Z + public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Lcom/agentclientprotocol/model/NesSuggestion$SearchAndReplace; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesSuggestion$SearchAndReplace;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/Object;)Lcom/agentclientprotocol/model/NesSuggestion$SearchAndReplace; + public fun equals (Ljava/lang/Object;)Z + public fun getId ()Ljava/lang/String; + public final fun getReplace ()Ljava/lang/String; + public final fun getSearch ()Ljava/lang/String; + public final fun getUri ()Ljava/lang/String; + public fun hashCode ()I + public final fun isRegex ()Z + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/NesSuggestion$SearchAndReplace$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesSuggestion$SearchAndReplace$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesSuggestion$SearchAndReplace; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesSuggestion$SearchAndReplace;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesSuggestion$SearchAndReplace$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesTextEdit { + public static final field Companion Lcom/agentclientprotocol/model/NesTextEdit$Companion; + public fun (Lcom/agentclientprotocol/model/NesRange;Ljava/lang/String;)V + public final fun component1 ()Lcom/agentclientprotocol/model/NesRange; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lcom/agentclientprotocol/model/NesRange;Ljava/lang/String;)Lcom/agentclientprotocol/model/NesTextEdit; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesTextEdit;Lcom/agentclientprotocol/model/NesRange;Ljava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesTextEdit; + public fun equals (Ljava/lang/Object;)Z + public final fun getNewText ()Ljava/lang/String; + public final fun getRange ()Lcom/agentclientprotocol/model/NesRange; + public fun hashCode ()I public fun toString ()Ljava/lang/String; - public static fun toString-impl (Ljava/lang/String;)Ljava/lang/String; - public final synthetic fun unbox-impl ()Ljava/lang/String; } -public final synthetic class com/agentclientprotocol/model/MessageId$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Lcom/agentclientprotocol/model/MessageId$$serializer; +public final synthetic class com/agentclientprotocol/model/NesTextEdit$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesTextEdit$$serializer; public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesTextEdit; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public final fun deserialize-D4v84t0 (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/String; public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesTextEdit;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V - public final fun serialize-XmIeEkI (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } -public final class com/agentclientprotocol/model/MessageId$Companion { +public final class com/agentclientprotocol/model/NesTextEdit$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } -public final class com/agentclientprotocol/model/ModelId { - public static final field Companion Lcom/agentclientprotocol/model/ModelId$Companion; - public static final synthetic fun box-impl (Ljava/lang/String;)Lcom/agentclientprotocol/model/ModelId; - public static fun constructor-impl (Ljava/lang/String;)Ljava/lang/String; +public final class com/agentclientprotocol/model/NesTriggerKind : java/lang/Enum { + public static final field AUTOMATIC Lcom/agentclientprotocol/model/NesTriggerKind; + public static final field Companion Lcom/agentclientprotocol/model/NesTriggerKind$Companion; + public static final field DIAGNOSTIC Lcom/agentclientprotocol/model/NesTriggerKind; + public static final field MANUAL Lcom/agentclientprotocol/model/NesTriggerKind; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lcom/agentclientprotocol/model/NesTriggerKind; + public static fun values ()[Lcom/agentclientprotocol/model/NesTriggerKind; +} + +public final class com/agentclientprotocol/model/NesTriggerKind$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/NesUserAction { + public static final field Companion Lcom/agentclientprotocol/model/NesUserAction$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesPosition;JLkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lcom/agentclientprotocol/model/NesPosition; + public final fun component4-s-VKNKU ()J + public final fun copy-ARK9YDc (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesPosition;J)Lcom/agentclientprotocol/model/NesUserAction; + public static synthetic fun copy-ARK9YDc$default (Lcom/agentclientprotocol/model/NesUserAction;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesPosition;JILjava/lang/Object;)Lcom/agentclientprotocol/model/NesUserAction; public fun equals (Ljava/lang/Object;)Z - public static fun equals-impl (Ljava/lang/String;Ljava/lang/Object;)Z - public static final fun equals-impl0 (Ljava/lang/String;Ljava/lang/String;)Z - public final fun getValue ()Ljava/lang/String; + public final fun getAction ()Ljava/lang/String; + public final fun getPosition ()Lcom/agentclientprotocol/model/NesPosition; + public final fun getTimestampMs-s-VKNKU ()J + public final fun getUri ()Ljava/lang/String; public fun hashCode ()I - public static fun hashCode-impl (Ljava/lang/String;)I public fun toString ()Ljava/lang/String; - public static fun toString-impl (Ljava/lang/String;)Ljava/lang/String; - public final synthetic fun unbox-impl ()Ljava/lang/String; } -public final synthetic class com/agentclientprotocol/model/ModelId$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Lcom/agentclientprotocol/model/ModelId$$serializer; +public final synthetic class com/agentclientprotocol/model/NesUserAction$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesUserAction$$serializer; public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesUserAction; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; - public final fun deserialize-jA97qFM (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/String; public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesUserAction;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V - public final fun serialize-9osuBzc (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } -public final class com/agentclientprotocol/model/ModelId$Companion { +public final class com/agentclientprotocol/model/NesUserAction$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } -public final class com/agentclientprotocol/model/ModelInfo : com/agentclientprotocol/model/AcpWithMeta { - public static final field Companion Lcom/agentclientprotocol/model/ModelInfo$Companion; - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V - public final fun component1-GMZLII8 ()Ljava/lang/String; - public final fun component2 ()Ljava/lang/String; - public final fun component3 ()Ljava/lang/String; - public final fun component4 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy-CQJBIKI (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/ModelInfo; - public static synthetic fun copy-CQJBIKI$default (Lcom/agentclientprotocol/model/ModelInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/ModelInfo; +public final class com/agentclientprotocol/model/NesUserActionsCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/NesUserActionsCapabilities$Companion; + public fun ()V + public fun (Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/Integer; + public final fun component2 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NesUserActionsCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NesUserActionsCapabilities;Ljava/lang/Integer;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NesUserActionsCapabilities; public fun equals (Ljava/lang/Object;)Z - public final fun getDescription ()Ljava/lang/String; - public final fun getModelId-GMZLII8 ()Ljava/lang/String; - public final fun getName ()Ljava/lang/String; + public final fun getMaxCount ()Ljava/lang/Integer; public fun get_meta ()Lkotlinx/serialization/json/JsonElement; public fun hashCode ()I public fun toString ()Ljava/lang/String; } -public final synthetic class com/agentclientprotocol/model/ModelInfo$$serializer : kotlinx/serialization/internal/GeneratedSerializer { - public static final field INSTANCE Lcom/agentclientprotocol/model/ModelInfo$$serializer; +public final synthetic class com/agentclientprotocol/model/NesUserActionsCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/NesUserActionsCapabilities$$serializer; public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; - public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/ModelInfo; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/NesUserActionsCapabilities; public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; - public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/ModelInfo;)V + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/NesUserActionsCapabilities;)V public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; } -public final class com/agentclientprotocol/model/ModelInfo$Companion { +public final class com/agentclientprotocol/model/NesUserActionsCapabilities$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } public final class com/agentclientprotocol/model/NewSessionRequest : com/agentclientprotocol/model/AcpRequest { public static final field Companion Lcom/agentclientprotocol/model/NewSessionRequest$Companion; - public fun (Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)V - public synthetic fun (Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Ljava/lang/String; public final fun component2 ()Ljava/util/List; - public final fun component3 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy (Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NewSessionRequest; - public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NewSessionRequest;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NewSessionRequest; + public final fun component3 ()Ljava/util/List; + public final fun component4 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/NewSessionRequest; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/NewSessionRequest;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/NewSessionRequest; public fun equals (Ljava/lang/Object;)Z + public final fun getAdditionalDirectories ()Ljava/util/List; public final fun getCwd ()Ljava/lang/String; public final fun getMcpServers ()Ljava/util/List; public fun get_meta ()Lkotlinx/serialization/json/JsonElement; @@ -2148,6 +3728,20 @@ public final class com/agentclientprotocol/model/PlanEntryStatus$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class com/agentclientprotocol/model/PositionEncodingKind : java/lang/Enum { + public static final field Companion Lcom/agentclientprotocol/model/PositionEncodingKind$Companion; + public static final field UTF_16 Lcom/agentclientprotocol/model/PositionEncodingKind; + public static final field UTF_32 Lcom/agentclientprotocol/model/PositionEncodingKind; + public static final field UTF_8 Lcom/agentclientprotocol/model/PositionEncodingKind; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lcom/agentclientprotocol/model/PositionEncodingKind; + public static fun values ()[Lcom/agentclientprotocol/model/PositionEncodingKind; +} + +public final class com/agentclientprotocol/model/PositionEncodingKind$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class com/agentclientprotocol/model/PromptCapabilities : com/agentclientprotocol/model/AcpWithMeta { public static final field Companion Lcom/agentclientprotocol/model/PromptCapabilities$Companion; public fun ()V @@ -2315,6 +3909,40 @@ public final class com/agentclientprotocol/model/ReadTextFileResponse$Companion public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class com/agentclientprotocol/model/RejectNesNotification : com/agentclientprotocol/model/AcpNotification, com/agentclientprotocol/model/AcpWithSessionId { + public static final field Companion Lcom/agentclientprotocol/model/RejectNesNotification$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-7EW-EgU ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()Lcom/agentclientprotocol/model/NesRejectReason; + public final fun component4 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-wPMwmcM (Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/RejectNesNotification; + public static synthetic fun copy-wPMwmcM$default (Lcom/agentclientprotocol/model/RejectNesNotification;Ljava/lang/String;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/RejectNesNotification; + public fun equals (Ljava/lang/Object;)Z + public final fun getId ()Ljava/lang/String; + public final fun getReason ()Lcom/agentclientprotocol/model/NesRejectReason; + public fun getSessionId-7EW-EgU ()Ljava/lang/String; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/RejectNesNotification$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/RejectNesNotification$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/RejectNesNotification; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/RejectNesNotification;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/RejectNesNotification$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class com/agentclientprotocol/model/ReleaseTerminalRequest : com/agentclientprotocol/model/AcpRequest, com/agentclientprotocol/model/AcpWithSessionId { public static final field Companion Lcom/agentclientprotocol/model/ReleaseTerminalRequest$Companion; public synthetic fun (Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -2526,15 +4154,17 @@ public final class com/agentclientprotocol/model/ResourceLink$Companion { public final class com/agentclientprotocol/model/ResumeSessionRequest : com/agentclientprotocol/model/AcpRequest, com/agentclientprotocol/model/AcpWithSessionId { public static final field Companion Lcom/agentclientprotocol/model/ResumeSessionRequest$Companion; - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1-7EW-EgU ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/util/List; - public final fun component4 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy-wPMwmcM (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/ResumeSessionRequest; - public static synthetic fun copy-wPMwmcM$default (Lcom/agentclientprotocol/model/ResumeSessionRequest;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/ResumeSessionRequest; + public final fun component4 ()Ljava/util/List; + public final fun component5 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-8WrnS2s (Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/ResumeSessionRequest; + public static synthetic fun copy-8WrnS2s$default (Lcom/agentclientprotocol/model/ResumeSessionRequest;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/ResumeSessionRequest; public fun equals (Ljava/lang/Object;)Z + public final fun getAdditionalDirectories ()Ljava/util/List; public final fun getCwd ()Ljava/lang/String; public final fun getMcpServers ()Ljava/util/List; public fun getSessionId-7EW-EgU ()Ljava/lang/String; @@ -2606,18 +4236,51 @@ public final class com/agentclientprotocol/model/Role$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class com/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class com/agentclientprotocol/model/SessionCapabilities : com/agentclientprotocol/model/AcpWithMeta { public static final field Companion Lcom/agentclientprotocol/model/SessionCapabilities$Companion; public fun ()V - public fun (Lcom/agentclientprotocol/model/SessionForkCapabilities;Lcom/agentclientprotocol/model/SessionListCapabilities;Lcom/agentclientprotocol/model/SessionResumeCapabilities;Lkotlinx/serialization/json/JsonElement;)V - public synthetic fun (Lcom/agentclientprotocol/model/SessionForkCapabilities;Lcom/agentclientprotocol/model/SessionListCapabilities;Lcom/agentclientprotocol/model/SessionResumeCapabilities;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Lcom/agentclientprotocol/model/SessionForkCapabilities;Lcom/agentclientprotocol/model/SessionListCapabilities;Lcom/agentclientprotocol/model/SessionResumeCapabilities;Lcom/agentclientprotocol/model/SessionCloseCapabilities;Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lcom/agentclientprotocol/model/SessionForkCapabilities;Lcom/agentclientprotocol/model/SessionListCapabilities;Lcom/agentclientprotocol/model/SessionResumeCapabilities;Lcom/agentclientprotocol/model/SessionCloseCapabilities;Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1 ()Lcom/agentclientprotocol/model/SessionForkCapabilities; public final fun component2 ()Lcom/agentclientprotocol/model/SessionListCapabilities; public final fun component3 ()Lcom/agentclientprotocol/model/SessionResumeCapabilities; - public final fun component4 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy (Lcom/agentclientprotocol/model/SessionForkCapabilities;Lcom/agentclientprotocol/model/SessionListCapabilities;Lcom/agentclientprotocol/model/SessionResumeCapabilities;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SessionCapabilities; - public static synthetic fun copy$default (Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/SessionForkCapabilities;Lcom/agentclientprotocol/model/SessionListCapabilities;Lcom/agentclientprotocol/model/SessionResumeCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionCapabilities; + public final fun component4 ()Lcom/agentclientprotocol/model/SessionCloseCapabilities; + public final fun component5 ()Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities; + public final fun component6 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lcom/agentclientprotocol/model/SessionForkCapabilities;Lcom/agentclientprotocol/model/SessionListCapabilities;Lcom/agentclientprotocol/model/SessionResumeCapabilities;Lcom/agentclientprotocol/model/SessionCloseCapabilities;Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SessionCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/SessionCapabilities;Lcom/agentclientprotocol/model/SessionForkCapabilities;Lcom/agentclientprotocol/model/SessionListCapabilities;Lcom/agentclientprotocol/model/SessionResumeCapabilities;Lcom/agentclientprotocol/model/SessionCloseCapabilities;Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionCapabilities; public fun equals (Ljava/lang/Object;)Z + public final fun getAdditionalDirectories ()Lcom/agentclientprotocol/model/SessionAdditionalDirectoriesCapabilities; + public final fun getClose ()Lcom/agentclientprotocol/model/SessionCloseCapabilities; public final fun getFork ()Lcom/agentclientprotocol/model/SessionForkCapabilities; public final fun getList ()Lcom/agentclientprotocol/model/SessionListCapabilities; public final fun getResume ()Lcom/agentclientprotocol/model/SessionResumeCapabilities; @@ -2641,6 +4304,35 @@ public final class com/agentclientprotocol/model/SessionCapabilities$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class com/agentclientprotocol/model/SessionCloseCapabilities : com/agentclientprotocol/model/AcpWithMeta { + public static final field Companion Lcom/agentclientprotocol/model/SessionCloseCapabilities$Companion; + public fun ()V + public fun (Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SessionCloseCapabilities; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/SessionCloseCapabilities;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionCloseCapabilities; + public fun equals (Ljava/lang/Object;)Z + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/SessionCloseCapabilities$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/SessionCloseCapabilities$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/SessionCloseCapabilities; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/SessionCloseCapabilities;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/SessionCloseCapabilities$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class com/agentclientprotocol/model/SessionConfigGroupId { public static final field Companion Lcom/agentclientprotocol/model/SessionConfigGroupId$Companion; public static final synthetic fun box-impl (Ljava/lang/String;)Lcom/agentclientprotocol/model/SessionConfigGroupId; @@ -3056,16 +4748,18 @@ public final class com/agentclientprotocol/model/SessionId$Companion { public final class com/agentclientprotocol/model/SessionInfo : com/agentclientprotocol/model/AcpWithMeta { public static final field Companion Lcom/agentclientprotocol/model/SessionInfo$Companion; - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V - public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V public final fun component1-7EW-EgU ()Ljava/lang/String; public final fun component2 ()Ljava/lang/String; public final fun component3 ()Ljava/lang/String; public final fun component4 ()Ljava/lang/String; - public final fun component5 ()Lkotlinx/serialization/json/JsonElement; - public final fun copy-8WrnS2s (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SessionInfo; - public static synthetic fun copy-8WrnS2s$default (Lcom/agentclientprotocol/model/SessionInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionInfo; + public final fun component5 ()Ljava/util/List; + public final fun component6 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-PBEKwEQ (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SessionInfo; + public static synthetic fun copy-PBEKwEQ$default (Lcom/agentclientprotocol/model/SessionInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SessionInfo; public fun equals (Ljava/lang/Object;)Z + public final fun getAdditionalDirectories ()Ljava/util/List; public final fun getCwd ()Ljava/lang/String; public final fun getSessionId-7EW-EgU ()Ljava/lang/String; public final fun getTitle ()Ljava/lang/String; @@ -3882,6 +5576,71 @@ public final class com/agentclientprotocol/model/SetSessionModelResponse$Compani public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class com/agentclientprotocol/model/StartNesRequest : com/agentclientprotocol/model/AcpRequest { + public static final field Companion Lcom/agentclientprotocol/model/StartNesRequest$Companion; + public fun ()V + public fun (Ljava/lang/String;Ljava/util/List;Lcom/agentclientprotocol/model/NesRepository;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/lang/String;Ljava/util/List;Lcom/agentclientprotocol/model/NesRepository;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/util/List; + public final fun component3 ()Lcom/agentclientprotocol/model/NesRepository; + public final fun component4 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Ljava/lang/String;Ljava/util/List;Lcom/agentclientprotocol/model/NesRepository;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/StartNesRequest; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/StartNesRequest;Ljava/lang/String;Ljava/util/List;Lcom/agentclientprotocol/model/NesRepository;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/StartNesRequest; + public fun equals (Ljava/lang/Object;)Z + public final fun getRepository ()Lcom/agentclientprotocol/model/NesRepository; + public final fun getWorkspaceFolders ()Ljava/util/List; + public final fun getWorkspaceUri ()Ljava/lang/String; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/StartNesRequest$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/StartNesRequest$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/StartNesRequest; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/StartNesRequest;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/StartNesRequest$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/StartNesResponse : com/agentclientprotocol/model/AcpResponse { + public static final field Companion Lcom/agentclientprotocol/model/StartNesResponse$Companion; + public synthetic fun (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-7EW-EgU ()Ljava/lang/String; + public final fun component2 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-HxD9utI (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/StartNesResponse; + public static synthetic fun copy-HxD9utI$default (Lcom/agentclientprotocol/model/StartNesResponse;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/StartNesResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getSessionId-7EW-EgU ()Ljava/lang/String; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/StartNesResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/StartNesResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/StartNesResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/StartNesResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/StartNesResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class com/agentclientprotocol/model/StopReason : java/lang/Enum { public static final field CANCELLED Lcom/agentclientprotocol/model/StopReason; public static final field Companion Lcom/agentclientprotocol/model/StopReason$Companion; @@ -3898,6 +5657,78 @@ public final class com/agentclientprotocol/model/StopReason$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class com/agentclientprotocol/model/SuggestNesRequest : com/agentclientprotocol/model/AcpRequest, com/agentclientprotocol/model/AcpWithSessionId { + public static final field Companion Lcom/agentclientprotocol/model/SuggestNesRequest$Companion; + public synthetic fun (Ljava/lang/String;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lcom/agentclientprotocol/model/NesTriggerKind;Lcom/agentclientprotocol/model/NesSuggestContext;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public synthetic fun (Ljava/lang/String;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lcom/agentclientprotocol/model/NesTriggerKind;Lcom/agentclientprotocol/model/NesSuggestContext;Lkotlinx/serialization/json/JsonElement;Lkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1-7EW-EgU ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun component3 ()J + public final fun component4 ()Lcom/agentclientprotocol/model/NesPosition; + public final fun component5 ()Lcom/agentclientprotocol/model/NesRange; + public final fun component6 ()Lcom/agentclientprotocol/model/NesTriggerKind; + public final fun component7 ()Lcom/agentclientprotocol/model/NesSuggestContext; + public final fun component8 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy-aXQG-3s (Ljava/lang/String;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lcom/agentclientprotocol/model/NesTriggerKind;Lcom/agentclientprotocol/model/NesSuggestContext;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SuggestNesRequest; + public static synthetic fun copy-aXQG-3s$default (Lcom/agentclientprotocol/model/SuggestNesRequest;Ljava/lang/String;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lcom/agentclientprotocol/model/NesTriggerKind;Lcom/agentclientprotocol/model/NesSuggestContext;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SuggestNesRequest; + public fun equals (Ljava/lang/Object;)Z + public final fun getContext ()Lcom/agentclientprotocol/model/NesSuggestContext; + public final fun getPosition ()Lcom/agentclientprotocol/model/NesPosition; + public final fun getSelection ()Lcom/agentclientprotocol/model/NesRange; + public fun getSessionId-7EW-EgU ()Ljava/lang/String; + public final fun getTriggerKind ()Lcom/agentclientprotocol/model/NesTriggerKind; + public final fun getUri ()Ljava/lang/String; + public final fun getVersion ()J + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/SuggestNesRequest$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/SuggestNesRequest$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/SuggestNesRequest; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/SuggestNesRequest;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/SuggestNesRequest$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/SuggestNesResponse : com/agentclientprotocol/model/AcpResponse { + public static final field Companion Lcom/agentclientprotocol/model/SuggestNesResponse$Companion; + public fun (Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Ljava/util/List; + public final fun component2 ()Lkotlinx/serialization/json/JsonElement; + public final fun copy (Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)Lcom/agentclientprotocol/model/SuggestNesResponse; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/SuggestNesResponse;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILjava/lang/Object;)Lcom/agentclientprotocol/model/SuggestNesResponse; + public fun equals (Ljava/lang/Object;)Z + public final fun getSuggestions ()Ljava/util/List; + public fun get_meta ()Lkotlinx/serialization/json/JsonElement; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/SuggestNesResponse$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/SuggestNesResponse$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/SuggestNesResponse; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/SuggestNesResponse;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/SuggestNesResponse$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class com/agentclientprotocol/model/TerminalExitStatus : com/agentclientprotocol/model/AcpWithMeta { public static final field Companion Lcom/agentclientprotocol/model/TerminalExitStatus$Companion; public synthetic fun (Lkotlin/UInt;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V @@ -3996,6 +5827,49 @@ public final class com/agentclientprotocol/model/TerminalOutputResponse$Companio public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class com/agentclientprotocol/model/TextDocumentContentChangeEvent { + public static final field Companion Lcom/agentclientprotocol/model/TextDocumentContentChangeEvent$Companion; + public fun (Lcom/agentclientprotocol/model/NesRange;Ljava/lang/String;)V + public synthetic fun (Lcom/agentclientprotocol/model/NesRange;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun component1 ()Lcom/agentclientprotocol/model/NesRange; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Lcom/agentclientprotocol/model/NesRange;Ljava/lang/String;)Lcom/agentclientprotocol/model/TextDocumentContentChangeEvent; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/TextDocumentContentChangeEvent;Lcom/agentclientprotocol/model/NesRange;Ljava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/TextDocumentContentChangeEvent; + public fun equals (Ljava/lang/Object;)Z + public final fun getRange ()Lcom/agentclientprotocol/model/NesRange; + public final fun getText ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/TextDocumentContentChangeEvent$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/TextDocumentContentChangeEvent$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/TextDocumentContentChangeEvent; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/TextDocumentContentChangeEvent;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/TextDocumentContentChangeEvent$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/TextDocumentSyncKind : java/lang/Enum { + public static final field Companion Lcom/agentclientprotocol/model/TextDocumentSyncKind$Companion; + public static final field FULL Lcom/agentclientprotocol/model/TextDocumentSyncKind; + public static final field INCREMENTAL Lcom/agentclientprotocol/model/TextDocumentSyncKind; + public static fun getEntries ()Lkotlin/enums/EnumEntries; + public static fun valueOf (Ljava/lang/String;)Lcom/agentclientprotocol/model/TextDocumentSyncKind; + public static fun values ()[Lcom/agentclientprotocol/model/TextDocumentSyncKind; +} + +public final class com/agentclientprotocol/model/TextDocumentSyncKind$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public abstract class com/agentclientprotocol/model/ToolCallContent { public static final field Companion Lcom/agentclientprotocol/model/ToolCallContent$Companion; public synthetic fun (ILkotlinx/serialization/internal/SerializationConstructorMarker;)V @@ -4264,6 +6138,35 @@ public final class com/agentclientprotocol/model/WaitForTerminalExitResponse$Com public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public final class com/agentclientprotocol/model/WorkspaceFolder { + public static final field Companion Lcom/agentclientprotocol/model/WorkspaceFolder$Companion; + public fun (Ljava/lang/String;Ljava/lang/String;)V + public final fun component1 ()Ljava/lang/String; + public final fun component2 ()Ljava/lang/String; + public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lcom/agentclientprotocol/model/WorkspaceFolder; + public static synthetic fun copy$default (Lcom/agentclientprotocol/model/WorkspaceFolder;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/agentclientprotocol/model/WorkspaceFolder; + public fun equals (Ljava/lang/Object;)Z + public final fun getName ()Ljava/lang/String; + public final fun getUri ()Ljava/lang/String; + public fun hashCode ()I + public fun toString ()Ljava/lang/String; +} + +public final synthetic class com/agentclientprotocol/model/WorkspaceFolder$$serializer : kotlinx/serialization/internal/GeneratedSerializer { + public static final field INSTANCE Lcom/agentclientprotocol/model/WorkspaceFolder$$serializer; + public final fun childSerializers ()[Lkotlinx/serialization/KSerializer; + public final fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/agentclientprotocol/model/WorkspaceFolder; + public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object; + public final fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor; + public final fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/agentclientprotocol/model/WorkspaceFolder;)V + public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V + public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer; +} + +public final class com/agentclientprotocol/model/WorkspaceFolder$Companion { + public final fun serializer ()Lkotlinx/serialization/KSerializer; +} + public final class com/agentclientprotocol/model/WriteTextFileRequest : com/agentclientprotocol/model/AcpRequest, com/agentclientprotocol/model/AcpWithSessionId { public static final field Companion Lcom/agentclientprotocol/model/WriteTextFileRequest$Companion; public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V diff --git a/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Capabilities.kt b/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Capabilities.kt index fc327b5..a92194c 100644 --- a/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Capabilities.kt +++ b/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Capabilities.kt @@ -69,6 +69,10 @@ public data class ClientCapabilities( @EncodeDefault val terminal: Boolean = false, @property:UnstableApi @EncodeDefault val auth: AuthCapabilities? = null, + @property:UnstableApi + val nes: ClientNesCapabilities? = null, + @property:UnstableApi + val positionEncodings: List? = null, override val _meta: JsonElement? = null ) : AcpCapabilities, AcpWithMeta @@ -121,6 +125,37 @@ public data class SessionResumeCapabilities( override val _meta: JsonElement? = null ) : AcpWithMeta +/** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Capabilities for the `session/close` method. + * + * By supplying `{}` it means that the agent supports closing of sessions. + */ +@UnstableApi +@Serializable +public data class SessionCloseCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + +/** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Capabilities for additional session directories support. + * + * By supplying `{}` it means that the agent supports the `additionalDirectories` field + * on session lifecycle requests. + */ +@UnstableApi +@Serializable +public data class SessionAdditionalDirectoriesCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + /** * Session capabilities supported by the agent. */ @@ -130,6 +165,10 @@ public data class SessionCapabilities( val fork: SessionForkCapabilities? = null, val list: SessionListCapabilities? = null, val resume: SessionResumeCapabilities? = null, + @property:UnstableApi + val close: SessionCloseCapabilities? = null, + @property:UnstableApi + val additionalDirectories: SessionAdditionalDirectoriesCapabilities? = null, override val _meta: JsonElement? = null ) : AcpWithMeta @@ -179,5 +218,9 @@ public data class AgentCapabilities( @EncodeDefault val sessionCapabilities: SessionCapabilities = SessionCapabilities(), @property:UnstableApi @EncodeDefault val auth: AgentAuthCapabilities = AgentAuthCapabilities(), + @property:UnstableApi + val nes: NesCapabilities? = null, + @property:UnstableApi + val positionEncoding: PositionEncodingKind? = null, override val _meta: JsonElement? = null ) : AcpCapabilities, AcpWithMeta \ No newline at end of file diff --git a/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Methods.kt b/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Methods.kt index 62b2b70..dc62783 100644 --- a/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Methods.kt +++ b/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Methods.kt @@ -65,6 +65,30 @@ public open class AcpMethod(public val methodName: MethodName) { public object SessionResume : AcpSessionRequestResponseMethod("session/resume", ResumeSessionRequest.serializer(), ResumeSessionResponse.serializer()) @UnstableApi public object SessionSetConfigOption : AcpSessionRequestResponseMethod("session/set_config_option", SetSessionConfigOptionRequest.serializer(), SetSessionConfigOptionResponse.serializer()) + @UnstableApi + public object SessionClose : AcpSessionRequestResponseMethod("session/close", CloseSessionRequest.serializer(), CloseSessionResponse.serializer()) + + // NES methods + @UnstableApi + public object NesStart : AcpRequestResponseMethod("nes/start", StartNesRequest.serializer(), StartNesResponse.serializer()) + @UnstableApi + public object NesSuggest : AcpSessionRequestResponseMethod("nes/suggest", SuggestNesRequest.serializer(), SuggestNesResponse.serializer()) + @UnstableApi + public object NesClose : AcpSessionRequestResponseMethod("nes/close", CloseNesRequest.serializer(), CloseNesResponse.serializer()) + @UnstableApi + public object NesAccept : AcpSessionNotificationMethod("nes/accept", AcceptNesNotification.serializer()) + @UnstableApi + public object NesReject : AcpSessionNotificationMethod("nes/reject", RejectNesNotification.serializer()) + @UnstableApi + public object DocumentDidOpen : AcpSessionNotificationMethod("document/didOpen", DidOpenDocumentNotification.serializer()) + @UnstableApi + public object DocumentDidChange : AcpSessionNotificationMethod("document/didChange", DidChangeDocumentNotification.serializer()) + @UnstableApi + public object DocumentDidClose : AcpSessionNotificationMethod("document/didClose", DidCloseDocumentNotification.serializer()) + @UnstableApi + public object DocumentDidSave : AcpSessionNotificationMethod("document/didSave", DidSaveDocumentNotification.serializer()) + @UnstableApi + public object DocumentDidFocus : AcpSessionNotificationMethod("document/didFocus", DidFocusDocumentNotification.serializer()) } public object ClientMethods { diff --git a/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Nes.kt b/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Nes.kt new file mode 100644 index 0000000..062821e --- /dev/null +++ b/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Nes.kt @@ -0,0 +1,477 @@ +@file:Suppress("unused") +@file:OptIn(ExperimentalSerializationApi::class) + +package com.agentclientprotocol.model + +import com.agentclientprotocol.annotations.UnstableApi +import kotlinx.serialization.EncodeDefault +import kotlinx.serialization.ExperimentalSerializationApi +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable +import kotlinx.serialization.json.JsonClassDiscriminator +import kotlinx.serialization.json.JsonElement + +// === Enums === + +@UnstableApi +@Serializable +public enum class PositionEncodingKind { + @SerialName("utf-16") UTF_16, + @SerialName("utf-32") UTF_32, + @SerialName("utf-8") UTF_8 +} + +@UnstableApi +@Serializable +public enum class TextDocumentSyncKind { + @SerialName("full") FULL, + @SerialName("incremental") INCREMENTAL +} + +@UnstableApi +@Serializable +public enum class NesTriggerKind { + @SerialName("automatic") AUTOMATIC, + @SerialName("diagnostic") DIAGNOSTIC, + @SerialName("manual") MANUAL +} + +@UnstableApi +@Serializable +public enum class NesRejectReason { + @SerialName("rejected") REJECTED, + @SerialName("ignored") IGNORED, + @SerialName("replaced") REPLACED, + @SerialName("cancelled") CANCELLED +} + +@UnstableApi +@Serializable +public enum class NesDiagnosticSeverity { + @SerialName("error") ERROR, + @SerialName("warning") WARNING, + @SerialName("information") INFORMATION, + @SerialName("hint") HINT +} + +// === Position Primitives === + +@UnstableApi +@Serializable +public data class NesPosition( + val line: UInt, + val character: UInt +) + +@UnstableApi +@Serializable +public data class NesRange( + val start: NesPosition, + val end: NesPosition +) + +// === Agent NES Capabilities === + +@UnstableApi +@Serializable +public data class NesCapabilities( + val events: NesEventCapabilities? = null, + val context: NesContextCapabilities? = null, + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesEventCapabilities( + val document: NesDocumentEventCapabilities? = null, + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesDocumentEventCapabilities( + val didOpen: NesDocumentDidOpenCapabilities? = null, + val didChange: NesDocumentDidChangeCapabilities? = null, + val didClose: NesDocumentDidCloseCapabilities? = null, + val didSave: NesDocumentDidSaveCapabilities? = null, + val didFocus: NesDocumentDidFocusCapabilities? = null, + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesDocumentDidOpenCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesDocumentDidChangeCapabilities( + val syncKind: TextDocumentSyncKind, + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesDocumentDidCloseCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesDocumentDidSaveCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesDocumentDidFocusCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesContextCapabilities( + val recentFiles: NesRecentFilesCapabilities? = null, + val relatedSnippets: NesRelatedSnippetsCapabilities? = null, + val editHistory: NesEditHistoryCapabilities? = null, + val userActions: NesUserActionsCapabilities? = null, + val openFiles: NesOpenFilesCapabilities? = null, + val diagnostics: NesDiagnosticsCapabilities? = null, + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesRecentFilesCapabilities( + val maxCount: Int? = null, + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesRelatedSnippetsCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesEditHistoryCapabilities( + val maxCount: Int? = null, + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesUserActionsCapabilities( + val maxCount: Int? = null, + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesOpenFilesCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesDiagnosticsCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + +// === Client NES Capabilities === + +@UnstableApi +@Serializable +public data class ClientNesCapabilities( + val jump: NesJumpCapabilities? = null, + val rename: NesRenameCapabilities? = null, + val searchAndReplace: NesSearchAndReplaceCapabilities? = null, + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesJumpCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesRenameCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + +@UnstableApi +@Serializable +public data class NesSearchAndReplaceCapabilities( + override val _meta: JsonElement? = null +) : AcpWithMeta + +// === Session Lifecycle === + +@UnstableApi +@Serializable +public data class WorkspaceFolder( + val uri: String, + val name: String +) + +@UnstableApi +@Serializable +public data class NesRepository( + val name: String, + val owner: String, + val remoteUrl: String +) + +@UnstableApi +@Serializable +public data class StartNesRequest( + val workspaceUri: String? = null, + val workspaceFolders: List? = null, + val repository: NesRepository? = null, + override val _meta: JsonElement? = null +) : AcpRequest + +@UnstableApi +@Serializable +public data class StartNesResponse( + val sessionId: SessionId, + override val _meta: JsonElement? = null +) : AcpResponse + +@UnstableApi +@Serializable +public data class CloseNesRequest( + override val sessionId: SessionId, + override val _meta: JsonElement? = null +) : AcpRequest, AcpWithSessionId + +@UnstableApi +@Serializable +public data class CloseNesResponse( + override val _meta: JsonElement? = null +) : AcpResponse + +// === Suggest === + +@UnstableApi +@Serializable +public data class SuggestNesRequest( + override val sessionId: SessionId, + val uri: String, + val version: Long, + val position: NesPosition, + val selection: NesRange? = null, + val triggerKind: NesTriggerKind, + val context: NesSuggestContext? = null, + override val _meta: JsonElement? = null +) : AcpRequest, AcpWithSessionId + +@UnstableApi +@Serializable +public data class SuggestNesResponse( + val suggestions: List, + override val _meta: JsonElement? = null +) : AcpResponse + +@UnstableApi +@Serializable +public data class NesSuggestContext( + val recentFiles: List? = null, + val relatedSnippets: List? = null, + val editHistory: List? = null, + val userActions: List? = null, + val openFiles: List? = null, + val diagnostics: List? = null, + override val _meta: JsonElement? = null +) : AcpWithMeta + +// === Context Detail Types === + +@UnstableApi +@Serializable +public data class NesRecentFile( + val uri: String, + val languageId: String, + val text: String +) + +@UnstableApi +@Serializable +public data class NesRelatedSnippet( + val uri: String, + val excerpts: List +) + +@UnstableApi +@Serializable +public data class NesExcerpt( + val startLine: UInt, + val endLine: UInt, + val text: String +) + +@UnstableApi +@Serializable +public data class NesEditHistoryEntry( + val uri: String, + val diff: String +) + +@UnstableApi +@Serializable +public data class NesUserAction( + val action: String, + val uri: String, + val position: NesPosition, + val timestampMs: ULong +) + +@UnstableApi +@Serializable +public data class NesOpenFile( + val uri: String, + val languageId: String, + val visibleRange: NesRange? = null, + val lastFocusedMs: ULong? = null +) + +@UnstableApi +@Serializable +public data class NesDiagnostic( + val uri: String, + val range: NesRange, + val severity: NesDiagnosticSeverity, + val message: String +) + +// === Suggestion Types === + +@UnstableApi +@Serializable +@JsonClassDiscriminator("kind") +public sealed class NesSuggestion { + public abstract val id: String + + @Serializable + @SerialName("edit") + public data class Edit( + override val id: String, + val uri: String, + val edits: List, + val cursorPosition: NesPosition? = null + ) : NesSuggestion() + + @Serializable + @SerialName("jump") + public data class Jump( + override val id: String, + val uri: String, + val position: NesPosition + ) : NesSuggestion() + + @Serializable + @SerialName("rename") + public data class Rename( + override val id: String, + val uri: String, + val position: NesPosition, + val newName: String + ) : NesSuggestion() + + @Serializable + @SerialName("searchAndReplace") + public data class SearchAndReplace( + override val id: String, + val uri: String, + val search: String, + val replace: String, + @EncodeDefault val isRegex: Boolean = false + ) : NesSuggestion() +} + +@UnstableApi +@Serializable +public data class NesTextEdit( + val range: NesRange, + val newText: String +) + +// === Accept/Reject Notifications === + +@UnstableApi +@Serializable +public data class AcceptNesNotification( + override val sessionId: SessionId, + val id: String, + override val _meta: JsonElement? = null +) : AcpNotification, AcpWithSessionId + +@UnstableApi +@Serializable +public data class RejectNesNotification( + override val sessionId: SessionId, + val id: String, + val reason: NesRejectReason? = null, + override val _meta: JsonElement? = null +) : AcpNotification, AcpWithSessionId + +// === Document Event Notifications === + +@UnstableApi +@Serializable +public data class DidOpenDocumentNotification( + override val sessionId: SessionId, + val uri: String, + val languageId: String, + val version: Long, + val text: String, + override val _meta: JsonElement? = null +) : AcpNotification, AcpWithSessionId + +@UnstableApi +@Serializable +public data class DidChangeDocumentNotification( + override val sessionId: SessionId, + val uri: String, + val version: Long, + val contentChanges: List, + override val _meta: JsonElement? = null +) : AcpNotification, AcpWithSessionId + +@UnstableApi +@Serializable +public data class TextDocumentContentChangeEvent( + val range: NesRange? = null, + val text: String +) + +@UnstableApi +@Serializable +public data class DidCloseDocumentNotification( + override val sessionId: SessionId, + val uri: String, + override val _meta: JsonElement? = null +) : AcpNotification, AcpWithSessionId + +@UnstableApi +@Serializable +public data class DidSaveDocumentNotification( + override val sessionId: SessionId, + val uri: String, + override val _meta: JsonElement? = null +) : AcpNotification, AcpWithSessionId + +@UnstableApi +@Serializable +public data class DidFocusDocumentNotification( + override val sessionId: SessionId, + val uri: String, + val version: Long, + val position: NesPosition, + val visibleRange: NesRange, + override val _meta: JsonElement? = null +) : AcpNotification, AcpWithSessionId diff --git a/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Requests.kt b/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Requests.kt index 37ad05e..ad5e1be 100644 --- a/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Requests.kt +++ b/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Requests.kt @@ -41,6 +41,23 @@ public object AuthMethodType { public const val TERMINAL: String = "terminal" } +/** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Describes a single environment variable for an [AuthMethod.EnvVarAuth] authentication method. + */ +@UnstableApi +@Serializable +public data class AuthEnvVar( + val name: String, + val label: String? = null, + val secret: Boolean = true, + val optional: Boolean = false, + override val _meta: JsonElement? = null +) : AcpWithMeta + /** * Describes an available authentication method. */ @@ -69,7 +86,7 @@ public sealed class AuthMethod : AcpWithMeta { * This capability is not part of the spec yet, and may be removed or changed at any point. * * Environment variable-based authentication. - * A user can enter a key and a client will pass it to the agent as an env variable. + * The client sets the specified environment variables when launching the agent. */ @UnstableApi @Serializable @@ -78,7 +95,7 @@ public sealed class AuthMethod : AcpWithMeta { override val id: AuthMethodId, override val name: String, override val description: String? = null, - val varName: String, + val vars: List, val link: String? = null, override val _meta: JsonElement? = null ) : AuthMethod() @@ -368,10 +385,13 @@ public data class AuthenticateRequest( * * See protocol docs: [Creating a Session](https://agentclientprotocol.com/protocol/session-setup#creating-a-session) */ +@OptIn(UnstableApi::class) @Serializable public data class NewSessionRequest( val cwd: String, val mcpServers: List<@Polymorphic McpServer>, + @property:UnstableApi + val additionalDirectories: List? = null, override val _meta: JsonElement? = null ) : AcpRequest @@ -382,11 +402,14 @@ public data class NewSessionRequest( * * See protocol docs: [Loading Sessions](https://agentclientprotocol.com/protocol/session-setup#loading-sessions) */ +@OptIn(UnstableApi::class) @Serializable public data class LoadSessionRequest( override val sessionId: SessionId, val cwd: String, val mcpServers: List<@Polymorphic McpServer>, + @property:UnstableApi + val additionalDirectories: List? = null, override val _meta: JsonElement? = null ) : AcpRequest, AcpWithSessionId @@ -683,6 +706,39 @@ public data class ReleaseTerminalResponse( override val _meta: JsonElement? = null ) : AcpResponse +/** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Request parameters for closing an active session. + * + * If supported, the agent must cancel any ongoing work related to the session + * (treat it as if `session/cancel` was called) and then free up any resources + * associated with the session. + * + * Only available if the agent supports the `session.close` capability. + */ +@UnstableApi +@Serializable +public data class CloseSessionRequest( + override val sessionId: SessionId, + override val _meta: JsonElement? = null +) : AcpRequest, AcpWithSessionId + +/** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Response from closing a session. + */ +@UnstableApi +@Serializable +public data class CloseSessionResponse( + override val _meta: JsonElement? = null +) : AcpResponse + // === Unstable Request/Response Types === /** @@ -698,6 +754,7 @@ public data class ForkSessionRequest( override val sessionId: SessionId, val cwd: String, val mcpServers: List, + val additionalDirectories: List? = null, override val _meta: JsonElement? = null ) : AcpRequest, AcpWithSessionId @@ -765,6 +822,7 @@ public data class ResumeSessionRequest( override val sessionId: SessionId, val cwd: String, val mcpServers: List, + val additionalDirectories: List? = null, override val _meta: JsonElement? = null ) : AcpRequest, AcpWithSessionId diff --git a/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Types.kt b/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Types.kt index 9ed4673..13da4cc 100644 --- a/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Types.kt +++ b/acp-model/src/commonMain/kotlin/com/agentclientprotocol/model/Types.kt @@ -195,5 +195,6 @@ public data class SessionInfo( val cwd: String, val title: String? = null, val updatedAt: String? = null, + val additionalDirectories: List? = null, override val _meta: JsonElement? = null ) : AcpWithMeta \ No newline at end of file diff --git a/acp-model/src/commonTest/kotlin/com/agentclientprotocol/model/AdditionalDirectoriesSerializationTest.kt b/acp-model/src/commonTest/kotlin/com/agentclientprotocol/model/AdditionalDirectoriesSerializationTest.kt new file mode 100644 index 0000000..7a832e4 --- /dev/null +++ b/acp-model/src/commonTest/kotlin/com/agentclientprotocol/model/AdditionalDirectoriesSerializationTest.kt @@ -0,0 +1,325 @@ +package com.agentclientprotocol.model + +import com.agentclientprotocol.annotations.UnstableApi +import com.agentclientprotocol.rpc.ACPJson +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertNotNull +import kotlin.test.assertNull +import kotlin.test.assertTrue + +@OptIn(UnstableApi::class) +class AdditionalDirectoriesSerializationTest { + + // === NewSessionRequest === + + @Test + fun `decodes NewSessionRequest with additionalDirectories`() { + val payload = """ + { + "cwd": "/home/user/project", + "mcpServers": [], + "additionalDirectories": ["/home/user/libs", "/home/user/config"] + } + """.trimIndent() + + val request = ACPJson.decodeFromString(NewSessionRequest.serializer(), payload) + + assertEquals("/home/user/project", request.cwd) + assertEquals(listOf("/home/user/libs", "/home/user/config"), request.additionalDirectories) + } + + @Test + fun `decodes NewSessionRequest without additionalDirectories defaults to null`() { + val payload = """ + { + "cwd": "/home/user/project", + "mcpServers": [] + } + """.trimIndent() + + val request = ACPJson.decodeFromString(NewSessionRequest.serializer(), payload) + + assertNull(request.additionalDirectories) + } + + @Test + fun `round-trip serialization for NewSessionRequest with additionalDirectories`() { + val original = NewSessionRequest( + cwd = "/project", + mcpServers = emptyList(), + additionalDirectories = listOf("/libs", "/tools") + ) + + val encoded = ACPJson.encodeToString(NewSessionRequest.serializer(), original) + val decoded = ACPJson.decodeFromString(NewSessionRequest.serializer(), encoded) + + assertEquals(original.cwd, decoded.cwd) + assertEquals(original.additionalDirectories, decoded.additionalDirectories) + } + + @Test + fun `round-trip serialization for NewSessionRequest without additionalDirectories`() { + val original = NewSessionRequest( + cwd = "/project", + mcpServers = emptyList() + ) + + val encoded = ACPJson.encodeToString(NewSessionRequest.serializer(), original) + val decoded = ACPJson.decodeFromString(NewSessionRequest.serializer(), encoded) + + assertNull(decoded.additionalDirectories) + } + + @Test + fun `NewSessionRequest without additionalDirectories does not include field in JSON`() { + val original = NewSessionRequest( + cwd = "/project", + mcpServers = emptyList() + ) + + val encoded = ACPJson.encodeToString(NewSessionRequest.serializer(), original) + + assertTrue(!encoded.contains("additionalDirectories")) + } + + // === LoadSessionRequest === + + @Test + fun `decodes LoadSessionRequest with additionalDirectories`() { + val payload = """ + { + "sessionId": "sess-1", + "cwd": "/project", + "mcpServers": [], + "additionalDirectories": ["/shared"] + } + """.trimIndent() + + val request = ACPJson.decodeFromString(LoadSessionRequest.serializer(), payload) + + assertEquals("/project", request.cwd) + assertEquals(listOf("/shared"), request.additionalDirectories) + } + + @Test + fun `decodes LoadSessionRequest without additionalDirectories defaults to null`() { + val payload = """ + { + "sessionId": "sess-1", + "cwd": "/project", + "mcpServers": [] + } + """.trimIndent() + + val request = ACPJson.decodeFromString(LoadSessionRequest.serializer(), payload) + + assertNull(request.additionalDirectories) + } + + // === ForkSessionRequest === + + @Test + fun `decodes ForkSessionRequest with additionalDirectories`() { + val payload = """ + { + "sessionId": "sess-1", + "cwd": "/project", + "mcpServers": [], + "additionalDirectories": ["/extra1", "/extra2"] + } + """.trimIndent() + + val request = ACPJson.decodeFromString(ForkSessionRequest.serializer(), payload) + + assertEquals(listOf("/extra1", "/extra2"), request.additionalDirectories) + } + + @Test + fun `decodes ForkSessionRequest without additionalDirectories defaults to null`() { + val payload = """ + { + "sessionId": "sess-1", + "cwd": "/project", + "mcpServers": [] + } + """.trimIndent() + + val request = ACPJson.decodeFromString(ForkSessionRequest.serializer(), payload) + + assertNull(request.additionalDirectories) + } + + // === ResumeSessionRequest === + + @Test + fun `decodes ResumeSessionRequest with additionalDirectories`() { + val payload = """ + { + "sessionId": "sess-1", + "cwd": "/project", + "mcpServers": [], + "additionalDirectories": ["/workspace/shared"] + } + """.trimIndent() + + val request = ACPJson.decodeFromString(ResumeSessionRequest.serializer(), payload) + + assertEquals(listOf("/workspace/shared"), request.additionalDirectories) + } + + @Test + fun `decodes ResumeSessionRequest without additionalDirectories defaults to null`() { + val payload = """ + { + "sessionId": "sess-1", + "cwd": "/project", + "mcpServers": [] + } + """.trimIndent() + + val request = ACPJson.decodeFromString(ResumeSessionRequest.serializer(), payload) + + assertNull(request.additionalDirectories) + } + + // === SessionInfo === + + @Test + fun `decodes SessionInfo with additionalDirectories`() { + val payload = """ + { + "sessionId": "sess-123", + "cwd": "/project", + "title": "My Session", + "additionalDirectories": ["/shared/libs"] + } + """.trimIndent() + + val info = ACPJson.decodeFromString(SessionInfo.serializer(), payload) + + assertEquals("sess-123", info.sessionId.value) + assertEquals("/project", info.cwd) + assertEquals("My Session", info.title) + assertEquals(listOf("/shared/libs"), info.additionalDirectories) + } + + @Test + fun `decodes SessionInfo without additionalDirectories defaults to null`() { + val payload = """ + { + "sessionId": "sess-123", + "cwd": "/project" + } + """.trimIndent() + + val info = ACPJson.decodeFromString(SessionInfo.serializer(), payload) + + assertNull(info.additionalDirectories) + } + + @Test + fun `round-trip serialization for SessionInfo with additionalDirectories`() { + val original = SessionInfo( + sessionId = SessionId("sess-rt"), + cwd = "/project", + title = "Test", + additionalDirectories = listOf("/a", "/b", "/c") + ) + + val encoded = ACPJson.encodeToString(SessionInfo.serializer(), original) + val decoded = ACPJson.decodeFromString(SessionInfo.serializer(), encoded) + + assertEquals(original.sessionId, decoded.sessionId) + assertEquals(original.cwd, decoded.cwd) + assertEquals(original.additionalDirectories, decoded.additionalDirectories) + } + + // === SessionCapabilities === + + @Test + fun `decodes SessionCapabilities with additionalDirectories capability`() { + val payload = """ + { + "additionalDirectories": {} + } + """.trimIndent() + + val capabilities = ACPJson.decodeFromString(SessionCapabilities.serializer(), payload) + + assertNotNull(capabilities.additionalDirectories) + } + + @Test + fun `decodes SessionCapabilities without additionalDirectories capability`() { + val payload = """ + {} + """.trimIndent() + + val capabilities = ACPJson.decodeFromString(SessionCapabilities.serializer(), payload) + + assertNull(capabilities.additionalDirectories) + } + + @Test + fun `decodes AgentCapabilities with additionalDirectories session capability`() { + val payload = """ + { + "sessionCapabilities": { + "additionalDirectories": {} + } + } + """.trimIndent() + + val capabilities = ACPJson.decodeFromString(AgentCapabilities.serializer(), payload) + + assertNotNull(capabilities.sessionCapabilities.additionalDirectories) + } + + // === Context: additionalDirectories in InitializeResponse === + + @Test + fun `decodes InitializeResponse with additionalDirectories session capability`() { + val payload = """ + { + "protocolVersion": 1, + "agentCapabilities": { + "sessionCapabilities": { + "additionalDirectories": {} + } + } + } + """.trimIndent() + + val response = ACPJson.decodeFromString(InitializeResponse.serializer(), payload) + + assertNotNull(response.agentCapabilities.sessionCapabilities.additionalDirectories) + } + + // === Context: ListSessionsResponse with additionalDirectories === + + @Test + fun `decodes ListSessionsResponse with sessions containing additionalDirectories`() { + val payload = """ + { + "sessions": [ + { + "sessionId": "s1", + "cwd": "/project1", + "additionalDirectories": ["/libs"] + }, + { + "sessionId": "s2", + "cwd": "/project2" + } + ] + } + """.trimIndent() + + val response = ACPJson.decodeFromString(ListSessionsResponse.serializer(), payload) + + assertEquals(2, response.sessions.size) + assertEquals(listOf("/libs"), response.sessions[0].additionalDirectories) + assertNull(response.sessions[1].additionalDirectories) + } +} diff --git a/acp-model/src/commonTest/kotlin/com/agentclientprotocol/model/AuthMethodSerializerTest.kt b/acp-model/src/commonTest/kotlin/com/agentclientprotocol/model/AuthMethodSerializerTest.kt index dfea066..1554068 100644 --- a/acp-model/src/commonTest/kotlin/com/agentclientprotocol/model/AuthMethodSerializerTest.kt +++ b/acp-model/src/commonTest/kotlin/com/agentclientprotocol/model/AuthMethodSerializerTest.kt @@ -57,7 +57,7 @@ class AuthMethodSerializerTest { "name": "API Key", "description": "Set API key environment variable", "type": "env_var", - "varName": "API_KEY", + "vars": [{"name": "API_KEY"}], "link": "https://example.com/get-key" } """.trimIndent() @@ -68,25 +68,43 @@ class AuthMethodSerializerTest { assertEquals("auth-3", authMethod.id.value) assertEquals("API Key", authMethod.name) assertEquals("Set API key environment variable", authMethod.description) - assertEquals("API_KEY", authMethod.varName) + assertEquals(1, authMethod.vars.size) + assertEquals("API_KEY", authMethod.vars[0].name) assertEquals("https://example.com/get-key", authMethod.link) } @Test - fun `decodes EnvVarAuth without optional link field`() { + fun `decodes EnvVarAuth with multiple vars and all fields`() { val payload = """ { "id": "auth-env", - "name": "OpenAI Key", + "name": "Azure OpenAI", "type": "env_var", - "varName": "OPENAI_API_KEY" + "vars": [ + {"name": "AZURE_API_KEY", "label": "API Key"}, + {"name": "AZURE_ENDPOINT", "label": "Endpoint URL", "secret": false}, + {"name": "AZURE_VERSION", "label": "API Version", "secret": false, "optional": true} + ] } """.trimIndent() val authMethod = ACPJson.decodeFromString(AuthMethod.serializer(), payload) assertTrue(authMethod is AuthMethod.EnvVarAuth) - assertEquals("OPENAI_API_KEY", authMethod.varName) + assertEquals(3, authMethod.vars.size) + + assertEquals("AZURE_API_KEY", authMethod.vars[0].name) + assertEquals("API Key", authMethod.vars[0].label) + assertEquals(true, authMethod.vars[0].secret) + assertEquals(false, authMethod.vars[0].optional) + + assertEquals("AZURE_ENDPOINT", authMethod.vars[1].name) + assertEquals(false, authMethod.vars[1].secret) + + assertEquals("AZURE_VERSION", authMethod.vars[2].name) + assertEquals(false, authMethod.vars[2].secret) + assertEquals(true, authMethod.vars[2].optional) + assertEquals(null, authMethod.link) } @@ -198,20 +216,23 @@ class AuthMethodSerializerTest { val original = AuthMethod.EnvVarAuth( id = AuthMethodId("auth-rt-2"), name = "Round Trip EnvVar", - varName = "MY_VAR", + vars = listOf( + AuthEnvVar(name = "MY_VAR"), + AuthEnvVar(name = "OTHER_VAR", label = "Other", secret = false, optional = true) + ), link = "https://example.com" ) val encoded = ACPJson.encodeToString(AuthMethod.serializer(), original) assertTrue(encoded.contains("\"type\":\"env_var\"")) - assertTrue(encoded.contains("\"varName\":\"MY_VAR\"")) + assertTrue(encoded.contains("\"vars\"")) val decoded = ACPJson.decodeFromString(AuthMethod.serializer(), encoded) assertTrue(decoded is AuthMethod.EnvVarAuth) val decodedEnvVar = decoded as AuthMethod.EnvVarAuth assertEquals(original.id, decodedEnvVar.id) assertEquals(original.name, decodedEnvVar.name) - assertEquals(original.varName, decodedEnvVar.varName) + assertEquals(original.vars, decodedEnvVar.vars) assertEquals(original.link, decodedEnvVar.link) } @@ -245,7 +266,7 @@ class AuthMethodSerializerTest { "agentCapabilities": {}, "authMethods": [ {"id": "a1", "name": "Agent Only"}, - {"id": "a2", "name": "Env Auth", "type": "env_var", "varName": "TOKEN"}, + {"id": "a2", "name": "Env Auth", "type": "env_var", "vars": [{"name": "TOKEN"}]}, {"id": "a3", "name": "Terminal Auth", "type": "terminal"} ] } @@ -306,7 +327,7 @@ class AuthMethodSerializerTest { "id": "auth-env-meta", "name": "EnvVar With Meta", "type": "env_var", - "varName": "KEY", + "vars": [{"name": "KEY"}], "_meta": {"source": "config"} } """.trimIndent() diff --git a/acp-model/src/commonTest/kotlin/com/agentclientprotocol/model/NesSerializationTest.kt b/acp-model/src/commonTest/kotlin/com/agentclientprotocol/model/NesSerializationTest.kt new file mode 100644 index 0000000..18267d8 --- /dev/null +++ b/acp-model/src/commonTest/kotlin/com/agentclientprotocol/model/NesSerializationTest.kt @@ -0,0 +1,259 @@ +package com.agentclientprotocol.model + +import com.agentclientprotocol.annotations.UnstableApi +import com.agentclientprotocol.rpc.ACPJson +import kotlin.test.Test +import kotlin.test.assertEquals +import kotlin.test.assertTrue + +@OptIn(UnstableApi::class) +class NesSerializationTest { + + @Test + fun `NesSuggestion Edit round-trip`() { + val edit = NesSuggestion.Edit( + id = "suggestion-1", + uri = "file:///test.kt", + edits = listOf( + NesTextEdit( + range = NesRange( + start = NesPosition(line = 10u, character = 0u), + end = NesPosition(line = 10u, character = 5u) + ), + newText = "hello" + ) + ), + cursorPosition = NesPosition(line = 10u, character = 5u) + ) + + val json = ACPJson.encodeToString(NesSuggestion.serializer(), edit) + val decoded = ACPJson.decodeFromString(NesSuggestion.serializer(), json) + assertEquals(edit, decoded) + } + + @Test + fun `NesSuggestion Jump round-trip`() { + val jump = NesSuggestion.Jump( + id = "suggestion-2", + uri = "file:///test.kt", + position = NesPosition(line = 20u, character = 10u) + ) + + val json = ACPJson.encodeToString(NesSuggestion.serializer(), jump) + val decoded = ACPJson.decodeFromString(NesSuggestion.serializer(), json) + assertEquals(jump, decoded) + } + + @Test + fun `NesSuggestion Rename round-trip`() { + val rename = NesSuggestion.Rename( + id = "suggestion-3", + uri = "file:///test.kt", + position = NesPosition(line = 5u, character = 4u), + newName = "newMethodName" + ) + + val json = ACPJson.encodeToString(NesSuggestion.serializer(), rename) + val decoded = ACPJson.decodeFromString(NesSuggestion.serializer(), json) + assertEquals(rename, decoded) + } + + @Test + fun `NesSuggestion SearchAndReplace round-trip`() { + val sar = NesSuggestion.SearchAndReplace( + id = "suggestion-4", + uri = "file:///test.kt", + search = "oldName", + replace = "newName", + isRegex = true + ) + + val json = ACPJson.encodeToString(NesSuggestion.serializer(), sar) + val decoded = ACPJson.decodeFromString(NesSuggestion.serializer(), json) + assertEquals(sar, decoded) + } + + @Test + fun `NesSuggestion Edit deserialization from JSON`() { + val json = """ + { + "kind": "edit", + "id": "s1", + "uri": "file:///a.kt", + "edits": [ + { + "range": { + "start": {"line": 1, "character": 0}, + "end": {"line": 1, "character": 3} + }, + "newText": "val" + } + ] + } + """.trimIndent() + + val suggestion = ACPJson.decodeFromString(NesSuggestion.serializer(), json) + assertTrue(suggestion is NesSuggestion.Edit) + val edit = suggestion as NesSuggestion.Edit + assertEquals("s1", edit.id) + assertEquals(1, edit.edits.size) + assertEquals("val", edit.edits[0].newText) + } + + @Test + fun `SuggestNesResponse round-trip with mixed suggestion types`() { + val response = SuggestNesResponse( + suggestions = listOf( + NesSuggestion.Edit( + id = "e1", + uri = "file:///a.kt", + edits = listOf( + NesTextEdit( + range = NesRange( + start = NesPosition(0u, 0u), + end = NesPosition(0u, 5u) + ), + newText = "class" + ) + ) + ), + NesSuggestion.Jump( + id = "j1", + uri = "file:///b.kt", + position = NesPosition(10u, 0u) + ) + ) + ) + + val json = ACPJson.encodeToString(SuggestNesResponse.serializer(), response) + val decoded = ACPJson.decodeFromString(SuggestNesResponse.serializer(), json) + assertEquals(response, decoded) + assertEquals(2, decoded.suggestions.size) + assertTrue(decoded.suggestions[0] is NesSuggestion.Edit) + assertTrue(decoded.suggestions[1] is NesSuggestion.Jump) + } + + @Test + fun `NesCapabilities round-trip`() { + val capabilities = NesCapabilities( + events = NesEventCapabilities( + document = NesDocumentEventCapabilities( + didOpen = NesDocumentDidOpenCapabilities(), + didChange = NesDocumentDidChangeCapabilities(syncKind = TextDocumentSyncKind.INCREMENTAL), + didClose = NesDocumentDidCloseCapabilities(), + didSave = NesDocumentDidSaveCapabilities(), + didFocus = NesDocumentDidFocusCapabilities() + ) + ), + context = NesContextCapabilities( + recentFiles = NesRecentFilesCapabilities(maxCount = 10), + relatedSnippets = NesRelatedSnippetsCapabilities(), + editHistory = NesEditHistoryCapabilities(maxCount = 50) + ) + ) + + val json = ACPJson.encodeToString(NesCapabilities.serializer(), capabilities) + val decoded = ACPJson.decodeFromString(NesCapabilities.serializer(), json) + assertEquals(capabilities, decoded) + } + + @Test + fun `StartNesRequest round-trip`() { + val request = StartNesRequest( + workspaceUri = "file:///workspace", + workspaceFolders = listOf( + WorkspaceFolder(uri = "file:///workspace/src", name = "src") + ), + repository = NesRepository( + name = "my-repo", + owner = "my-org", + remoteUrl = "https://github.com/my-org/my-repo" + ) + ) + + val json = ACPJson.encodeToString(StartNesRequest.serializer(), request) + val decoded = ACPJson.decodeFromString(StartNesRequest.serializer(), json) + assertEquals(request, decoded) + } + + @Test + fun `NesTriggerKind serialization`() { + val json = ACPJson.encodeToString(NesTriggerKind.serializer(), NesTriggerKind.AUTOMATIC) + assertEquals("\"automatic\"", json) + val decoded = ACPJson.decodeFromString(NesTriggerKind.serializer(), json) + assertEquals(NesTriggerKind.AUTOMATIC, decoded) + } + + @Test + fun `NesRejectReason serialization`() { + val json = ACPJson.encodeToString(NesRejectReason.serializer(), NesRejectReason.REPLACED) + assertEquals("\"replaced\"", json) + } + + @Test + fun `PositionEncodingKind serialization`() { + val json = ACPJson.encodeToString(PositionEncodingKind.serializer(), PositionEncodingKind.UTF_16) + assertEquals("\"utf-16\"", json) + } + + @Test + fun `AgentCapabilities with NES round-trip`() { + val capabilities = AgentCapabilities( + nes = NesCapabilities( + events = NesEventCapabilities( + document = NesDocumentEventCapabilities( + didOpen = NesDocumentDidOpenCapabilities() + ) + ) + ), + positionEncoding = PositionEncodingKind.UTF_16 + ) + + val json = ACPJson.encodeToString(AgentCapabilities.serializer(), capabilities) + val decoded = ACPJson.decodeFromString(AgentCapabilities.serializer(), json) + assertEquals(capabilities, decoded) + } + + @Test + fun `ClientCapabilities with NES round-trip`() { + val capabilities = ClientCapabilities( + nes = ClientNesCapabilities( + jump = NesJumpCapabilities(), + rename = NesRenameCapabilities(), + searchAndReplace = NesSearchAndReplaceCapabilities() + ), + positionEncodings = listOf(PositionEncodingKind.UTF_16, PositionEncodingKind.UTF_8) + ) + + val json = ACPJson.encodeToString(ClientCapabilities.serializer(), capabilities) + val decoded = ACPJson.decodeFromString(ClientCapabilities.serializer(), json) + assertEquals(capabilities, decoded) + } + + @Test + fun `TextDocumentContentChangeEvent with range`() { + val event = TextDocumentContentChangeEvent( + range = NesRange( + start = NesPosition(0u, 0u), + end = NesPosition(0u, 5u) + ), + text = "hello" + ) + + val json = ACPJson.encodeToString(TextDocumentContentChangeEvent.serializer(), event) + val decoded = ACPJson.decodeFromString(TextDocumentContentChangeEvent.serializer(), json) + assertEquals(event, decoded) + } + + @Test + fun `TextDocumentContentChangeEvent full content (no range)`() { + val event = TextDocumentContentChangeEvent( + range = null, + text = "full file content" + ) + + val json = ACPJson.encodeToString(TextDocumentContentChangeEvent.serializer(), event) + val decoded = ACPJson.decodeFromString(TextDocumentContentChangeEvent.serializer(), json) + assertEquals(event, decoded) + } +} diff --git a/acp/api/acp.api b/acp/api/acp.api index d5ba635..d892e8e 100644 --- a/acp/api/acp.api +++ b/acp/api/acp.api @@ -43,6 +43,8 @@ public final class com/agentclientprotocol/agent/AgentKt { public abstract interface class com/agentclientprotocol/agent/AgentSession { public fun cancel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun cancel$suspendImpl (Lcom/agentclientprotocol/agent/AgentSession;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun close (Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun close$suspendImpl (Lcom/agentclientprotocol/agent/AgentSession;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun getAvailableModels ()Ljava/util/List; public fun getAvailableModes ()Ljava/util/List; public fun getConfigOptions ()Ljava/util/List; @@ -63,6 +65,7 @@ public abstract interface class com/agentclientprotocol/agent/AgentSession { public final class com/agentclientprotocol/agent/AgentSession$DefaultImpls { public static fun cancel (Lcom/agentclientprotocol/agent/AgentSession;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun close (Lcom/agentclientprotocol/agent/AgentSession;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun getAvailableModels (Lcom/agentclientprotocol/agent/AgentSession;)Ljava/util/List; public static fun getAvailableModes (Lcom/agentclientprotocol/agent/AgentSession;)Ljava/util/List; public static fun getConfigOptions (Lcom/agentclientprotocol/agent/AgentSession;)Ljava/util/List; @@ -83,6 +86,8 @@ public final class com/agentclientprotocol/agent/AgentSessionKt { public abstract interface class com/agentclientprotocol/agent/AgentSupport { public fun authenticate-fMnwWJU (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun authenticate-fMnwWJU$suspendImpl (Lcom/agentclientprotocol/agent/AgentSupport;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun createNesSession (Lcom/agentclientprotocol/model/StartNesRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun createNesSession$suspendImpl (Lcom/agentclientprotocol/agent/AgentSupport;Lcom/agentclientprotocol/model/StartNesRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public abstract fun createSession (Lcom/agentclientprotocol/common/SessionCreationParameters;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public fun forkSession-nk3TnMc (Ljava/lang/String;Lcom/agentclientprotocol/common/SessionCreationParameters;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static synthetic fun forkSession-nk3TnMc$suspendImpl (Lcom/agentclientprotocol/agent/AgentSupport;Ljava/lang/String;Lcom/agentclientprotocol/common/SessionCreationParameters;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -99,6 +104,7 @@ public abstract interface class com/agentclientprotocol/agent/AgentSupport { public final class com/agentclientprotocol/agent/AgentSupport$DefaultImpls { public static fun authenticate-fMnwWJU (Lcom/agentclientprotocol/agent/AgentSupport;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun createNesSession (Lcom/agentclientprotocol/agent/AgentSupport;Lcom/agentclientprotocol/model/StartNesRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun forkSession-nk3TnMc (Lcom/agentclientprotocol/agent/AgentSupport;Ljava/lang/String;Lcom/agentclientprotocol/common/SessionCreationParameters;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun listSessions (Lcom/agentclientprotocol/agent/AgentSupport;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public static fun loadSession-nk3TnMc (Lcom/agentclientprotocol/agent/AgentSupport;Ljava/lang/String;Lcom/agentclientprotocol/common/SessionCreationParameters;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -106,6 +112,44 @@ public final class com/agentclientprotocol/agent/AgentSupport$DefaultImpls { public static fun resumeSession-nk3TnMc (Lcom/agentclientprotocol/agent/AgentSupport;Ljava/lang/String;Lcom/agentclientprotocol/common/SessionCreationParameters;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } +public abstract interface class com/agentclientprotocol/agent/NesAgentSession { + public fun accept (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun accept$default (Lcom/agentclientprotocol/agent/NesAgentSession;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun accept$suspendImpl (Lcom/agentclientprotocol/agent/NesAgentSession;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun close (Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun close$default (Lcom/agentclientprotocol/agent/NesAgentSession;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun close$suspendImpl (Lcom/agentclientprotocol/agent/NesAgentSession;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun didChange (Lcom/agentclientprotocol/model/DidChangeDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun didChange$suspendImpl (Lcom/agentclientprotocol/agent/NesAgentSession;Lcom/agentclientprotocol/model/DidChangeDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun didClose (Lcom/agentclientprotocol/model/DidCloseDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun didClose$suspendImpl (Lcom/agentclientprotocol/agent/NesAgentSession;Lcom/agentclientprotocol/model/DidCloseDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun didFocus (Lcom/agentclientprotocol/model/DidFocusDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun didFocus$suspendImpl (Lcom/agentclientprotocol/agent/NesAgentSession;Lcom/agentclientprotocol/model/DidFocusDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun didOpen (Lcom/agentclientprotocol/model/DidOpenDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun didOpen$suspendImpl (Lcom/agentclientprotocol/agent/NesAgentSession;Lcom/agentclientprotocol/model/DidOpenDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public fun didSave (Lcom/agentclientprotocol/model/DidSaveDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun didSave$suspendImpl (Lcom/agentclientprotocol/agent/NesAgentSession;Lcom/agentclientprotocol/model/DidSaveDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun getNesSessionId-7EW-EgU ()Ljava/lang/String; + public fun reject (Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun reject$default (Lcom/agentclientprotocol/agent/NesAgentSession;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun reject$suspendImpl (Lcom/agentclientprotocol/agent/NesAgentSession;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun suggest (Lcom/agentclientprotocol/model/SuggestNesRequest;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; +} + +public final class com/agentclientprotocol/agent/NesAgentSession$DefaultImpls { + public static fun accept (Lcom/agentclientprotocol/agent/NesAgentSession;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun accept$default (Lcom/agentclientprotocol/agent/NesAgentSession;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static fun close (Lcom/agentclientprotocol/agent/NesAgentSession;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun close$default (Lcom/agentclientprotocol/agent/NesAgentSession;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static fun didChange (Lcom/agentclientprotocol/agent/NesAgentSession;Lcom/agentclientprotocol/model/DidChangeDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun didClose (Lcom/agentclientprotocol/agent/NesAgentSession;Lcom/agentclientprotocol/model/DidCloseDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun didFocus (Lcom/agentclientprotocol/agent/NesAgentSession;Lcom/agentclientprotocol/model/DidFocusDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun didOpen (Lcom/agentclientprotocol/agent/NesAgentSession;Lcom/agentclientprotocol/model/DidOpenDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun didSave (Lcom/agentclientprotocol/agent/NesAgentSession;Lcom/agentclientprotocol/model/DidSaveDocumentNotification;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static fun reject (Lcom/agentclientprotocol/agent/NesAgentSession;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun reject$default (Lcom/agentclientprotocol/agent/NesAgentSession;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + public final class com/agentclientprotocol/client/Client { public fun (Lcom/agentclientprotocol/protocol/Protocol;)V public final fun authenticate-fMnwWJU (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -113,6 +157,7 @@ public final class com/agentclientprotocol/client/Client { public final fun forkSession-wPMwmcM (Ljava/lang/String;Lcom/agentclientprotocol/common/SessionCreationParameters;Lcom/agentclientprotocol/client/ClientOperationsFactory;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun getAgentInfo ()Lcom/agentclientprotocol/agent/AgentInfo; public final fun getClientInfo ()Lcom/agentclientprotocol/client/ClientInfo; + public final fun getNesSession-0izbxq0 (Ljava/lang/String;)Lcom/agentclientprotocol/client/ClientNesSession; public final fun getProtocol ()Lcom/agentclientprotocol/protocol/Protocol; public final fun getSession-0izbxq0 (Ljava/lang/String;)Lcom/agentclientprotocol/client/ClientSession; public final fun initialize (Lcom/agentclientprotocol/client/ClientInfo;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; @@ -124,6 +169,8 @@ public final class com/agentclientprotocol/client/Client { public static synthetic fun logout$default (Lcom/agentclientprotocol/client/Client;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public final fun newSession (Lcom/agentclientprotocol/common/SessionCreationParameters;Lcom/agentclientprotocol/client/ClientOperationsFactory;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; public final fun resumeSession-wPMwmcM (Ljava/lang/String;Lcom/agentclientprotocol/common/SessionCreationParameters;Lcom/agentclientprotocol/client/ClientOperationsFactory;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public final fun startNesSession (Ljava/lang/String;Ljava/util/List;Lcom/agentclientprotocol/model/NesRepository;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun startNesSession$default (Lcom/agentclientprotocol/client/Client;Ljava/lang/String;Ljava/util/List;Lcom/agentclientprotocol/model/NesRepository;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; } public final class com/agentclientprotocol/client/ClientInfo { @@ -152,12 +199,48 @@ public final class com/agentclientprotocol/client/ClientInfo$Companion { public final fun serializer ()Lkotlinx/serialization/KSerializer; } +public abstract interface class com/agentclientprotocol/client/ClientNesSession { + public abstract fun accept (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun accept$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public abstract fun close (Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun close$default (Lcom/agentclientprotocol/client/ClientNesSession;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public abstract fun didChange (Ljava/lang/String;JLjava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun didChange$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;JLjava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public abstract fun didClose (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun didClose$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public abstract fun didFocus (Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun didFocus$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public abstract fun didOpen (Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun didOpen$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public abstract fun didSave (Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun didSave$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public abstract fun getNesSessionId-7EW-EgU ()Ljava/lang/String; + public abstract fun reject (Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun reject$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public abstract fun suggest (Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lcom/agentclientprotocol/model/NesTriggerKind;Lcom/agentclientprotocol/model/NesSuggestContext;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun suggest$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lcom/agentclientprotocol/model/NesTriggerKind;Lcom/agentclientprotocol/model/NesSuggestContext;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + +public final class com/agentclientprotocol/client/ClientNesSession$DefaultImpls { + public static synthetic fun accept$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun close$default (Lcom/agentclientprotocol/client/ClientNesSession;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun didChange$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;JLjava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun didClose$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun didFocus$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun didOpen$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;Ljava/lang/String;JLjava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun didSave$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun reject$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;Lcom/agentclientprotocol/model/NesRejectReason;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; + public static synthetic fun suggest$default (Lcom/agentclientprotocol/client/ClientNesSession;Ljava/lang/String;JLcom/agentclientprotocol/model/NesPosition;Lcom/agentclientprotocol/model/NesRange;Lcom/agentclientprotocol/model/NesTriggerKind;Lcom/agentclientprotocol/model/NesSuggestContext;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; +} + public abstract interface class com/agentclientprotocol/client/ClientOperationsFactory { public abstract fun createClientOperations-nk3TnMc (Ljava/lang/String;Lcom/agentclientprotocol/model/AcpCreatedSessionResponse;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; } public abstract interface class com/agentclientprotocol/client/ClientSession { public abstract fun cancel (Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public abstract fun close (Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;)Ljava/lang/Object; + public static synthetic fun close$default (Lcom/agentclientprotocol/client/ClientSession;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public abstract fun getAvailableModels ()Ljava/util/List; public abstract fun getAvailableModes ()Ljava/util/List; public abstract fun getClient ()Lcom/agentclientprotocol/client/Client; @@ -181,6 +264,7 @@ public abstract interface class com/agentclientprotocol/client/ClientSession { } public final class com/agentclientprotocol/client/ClientSession$DefaultImpls { + public static synthetic fun close$default (Lcom/agentclientprotocol/client/ClientSession;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static synthetic fun prompt$default (Lcom/agentclientprotocol/client/ClientSession;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static synthetic fun setConfigOption-A2gp-xI$default (Lcom/agentclientprotocol/client/ClientSession;Ljava/lang/String;Lcom/agentclientprotocol/model/SessionConfigOptionValue;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; public static synthetic fun setMode-tFeI3nk$default (Lcom/agentclientprotocol/client/ClientSession;Ljava/lang/String;Lkotlinx/serialization/json/JsonElement;Lkotlin/coroutines/Continuation;ILjava/lang/Object;)Ljava/lang/Object; @@ -245,8 +329,9 @@ public final class com/agentclientprotocol/common/FileSystemOperations$DefaultIm } public final class com/agentclientprotocol/common/SessionCreationParameters { - public fun (Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)V - public synthetic fun (Ljava/lang/String;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public fun (Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;)V + public synthetic fun (Ljava/lang/String;Ljava/util/List;Ljava/util/List;Lkotlinx/serialization/json/JsonElement;ILkotlin/jvm/internal/DefaultConstructorMarker;)V + public final fun getAdditionalDirectories ()Ljava/util/List; public final fun getCwd ()Ljava/lang/String; public final fun getMcpServers ()Ljava/util/List; public final fun get_meta ()Lkotlinx/serialization/json/JsonElement; diff --git a/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/Agent.kt b/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/Agent.kt index bce1682..15711e0 100644 --- a/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/Agent.kt +++ b/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/Agent.kt @@ -41,20 +41,25 @@ public class Agent( private val agentSupport: AgentSupport ) { - internal class SessionWrapper( + internal open class BaseSessionWrapper( val agent: Agent, - val agentSession: AgentSession, - val clientOperations: ClientSessionOperations, val protocol: Protocol ) { - private class PromptSession(val currentRequestId: RequestId) - private val _activePrompt = atomic(null) - internal suspend fun executeWithSession(block: suspend () -> T): T { return withContext(this.asContextElement()) { return@withContext block() } } + } + + internal class SessionWrapper( + agent: Agent, + val agentSession: AgentSession, + val clientOperations: ClientSessionOperations, + protocol: Protocol + ) : BaseSessionWrapper(agent, protocol) { + private class PromptSession(val currentRequestId: RequestId) + private val _activePrompt = atomic(null) suspend fun prompt(content: List, _meta: JsonElement? = null): PromptResponse { val currentRpcRequest = currentCoroutineContext().jsonRpcRequest @@ -106,8 +111,15 @@ public class Agent( } } + internal class NesSessionWrapper( + agent: Agent, + val nesSession: NesAgentSession, + protocol: Protocol + ) : BaseSessionWrapper(agent, protocol) + private val _clientInfo = CompletableDeferred() private val _sessions = atomic(persistentMapOf()) + private val _nesSessions = atomic(persistentMapOf()) internal fun getClientInfoOrThrow(): ClientInfo { if (!_clientInfo.isCompleted) error("Agent is not initialized yet") @@ -150,7 +162,7 @@ public class Agent( ) protocol.setRequestHandler(AcpMethod.AgentMethods.SessionNew) { params: NewSessionRequest -> - val sessionParameters = SessionCreationParameters(params.cwd, params.mcpServers, params._meta) + val sessionParameters = SessionCreationParameters(params.cwd, params.mcpServers, params.additionalDirectories, params._meta) val session = createSession(sessionParameters) { agentSupport.createSession(it) } @OptIn(UnstableApi::class) @@ -163,7 +175,7 @@ public class Agent( } protocol.setRequestHandler(AcpMethod.AgentMethods.SessionLoad) { params: LoadSessionRequest -> - val sessionParameters = SessionCreationParameters(params.cwd, params.mcpServers, params._meta) + val sessionParameters = SessionCreationParameters(params.cwd, params.mcpServers, params.additionalDirectories, params._meta) val session = createSession(sessionParameters) { agentSupport.loadSession(params.sessionId, sessionParameters) } @OptIn(UnstableApi::class) return@setRequestHandler LoadSessionResponse( @@ -176,7 +188,7 @@ public class Agent( } protocol.setRequestHandler(AcpMethod.AgentMethods.SessionResume) { params: ResumeSessionRequest -> - val sessionParameters = SessionCreationParameters(params.cwd, params.mcpServers, params._meta) + val sessionParameters = SessionCreationParameters(params.cwd, params.mcpServers, params.additionalDirectories, params._meta) val session = createSession(sessionParameters) { agentSupport.resumeSession(params.sessionId, sessionParameters) } return@setRequestHandler ResumeSessionResponse( modes = session.asModeState(), @@ -212,9 +224,19 @@ public class Agent( } } + @OptIn(UnstableApi::class) + protocol.setRequestHandler(AcpMethod.AgentMethods.SessionClose) { params: CloseSessionRequest -> + val session = getSessionOrThrow(params.sessionId) + val response = session.executeWithSession { + session.agentSession.close(params._meta) + } + _sessions.update { it.remove(params.sessionId) } + return@setRequestHandler response + } + @OptIn(UnstableApi::class) protocol.setRequestHandler(AcpMethod.AgentMethods.SessionFork) { params: ForkSessionRequest -> - val sessionParameters = SessionCreationParameters(params.cwd, params.mcpServers, params._meta) + val sessionParameters = SessionCreationParameters(params.cwd, params.mcpServers, params.additionalDirectories, params._meta) val session = createSession(sessionParameters) { agentSupport.forkSession(params.sessionId, sessionParameters) } return@setRequestHandler ForkSessionResponse( sessionId = session.sessionId, @@ -226,7 +248,7 @@ public class Agent( @OptIn(UnstableApi::class) protocol.setRequestHandler(AcpMethod.AgentMethods.SessionResume) { params: ResumeSessionRequest -> - val sessionParameters = SessionCreationParameters(params.cwd, params.mcpServers, params._meta) + val sessionParameters = SessionCreationParameters(params.cwd, params.mcpServers, params.additionalDirectories, params._meta) val session = createSession(sessionParameters) { agentSupport.resumeSession(params.sessionId, sessionParameters) } return@setRequestHandler ResumeSessionResponse( modes = session.asModeState(), @@ -242,6 +264,93 @@ public class Agent( session.agentSession.setConfigOption(params.configId, params.value, params._meta) } } + + // NES handlers + @OptIn(UnstableApi::class) + protocol.setRequestHandler(AcpMethod.AgentMethods.NesStart) { params: StartNesRequest -> + val nesSession = agentSupport.createNesSession(params) + val wrapper = NesSessionWrapper( + this@Agent, + nesSession, + protocol + ) + _nesSessions.update { it.put(nesSession.nesSessionId, wrapper) } + return@setRequestHandler StartNesResponse(nesSession.nesSessionId) + } + + @OptIn(UnstableApi::class) + protocol.setRequestHandler(AcpMethod.AgentMethods.NesSuggest) { params: SuggestNesRequest -> + val wrapper = getNesSessionOrThrow(params.sessionId) + return@setRequestHandler wrapper.executeWithSession { + wrapper.nesSession.suggest(params) + } + } + + @OptIn(UnstableApi::class) + protocol.setRequestHandler(AcpMethod.AgentMethods.NesClose) { params: CloseNesRequest -> + val wrapper = getNesSessionOrThrow(params.sessionId) + val response = wrapper.executeWithSession { + wrapper.nesSession.close(params._meta) + } + _nesSessions.update { it.remove(params.sessionId) } + return@setRequestHandler response + } + + @OptIn(UnstableApi::class) + protocol.setNotificationHandler(AcpMethod.AgentMethods.NesAccept) { params: AcceptNesNotification -> + val wrapper = getNesSessionOrThrow(params.sessionId) + wrapper.executeWithSession { + wrapper.nesSession.accept(params.id, params._meta) + } + } + + @OptIn(UnstableApi::class) + protocol.setNotificationHandler(AcpMethod.AgentMethods.NesReject) { params: RejectNesNotification -> + val wrapper = getNesSessionOrThrow(params.sessionId) + wrapper.executeWithSession { + wrapper.nesSession.reject(params.id, params.reason, params._meta) + } + } + + @OptIn(UnstableApi::class) + protocol.setNotificationHandler(AcpMethod.AgentMethods.DocumentDidOpen) { params: DidOpenDocumentNotification -> + val wrapper = getNesSessionOrThrow(params.sessionId) + wrapper.executeWithSession { + wrapper.nesSession.didOpen(params) + } + } + + @OptIn(UnstableApi::class) + protocol.setNotificationHandler(AcpMethod.AgentMethods.DocumentDidChange) { params: DidChangeDocumentNotification -> + val wrapper = getNesSessionOrThrow(params.sessionId) + wrapper.executeWithSession { + wrapper.nesSession.didChange(params) + } + } + + @OptIn(UnstableApi::class) + protocol.setNotificationHandler(AcpMethod.AgentMethods.DocumentDidClose) { params: DidCloseDocumentNotification -> + val wrapper = getNesSessionOrThrow(params.sessionId) + wrapper.executeWithSession { + wrapper.nesSession.didClose(params) + } + } + + @OptIn(UnstableApi::class) + protocol.setNotificationHandler(AcpMethod.AgentMethods.DocumentDidSave) { params: DidSaveDocumentNotification -> + val wrapper = getNesSessionOrThrow(params.sessionId) + wrapper.executeWithSession { + wrapper.nesSession.didSave(params) + } + } + + @OptIn(UnstableApi::class) + protocol.setNotificationHandler(AcpMethod.AgentMethods.DocumentDidFocus) { params: DidFocusDocumentNotification -> + val wrapper = getNesSessionOrThrow(params.sessionId) + wrapper.executeWithSession { + wrapper.nesSession.didFocus(params) + } + } } private suspend fun createSession(sessionParameters: SessionCreationParameters, sessionFactory: suspend (SessionCreationParameters) -> AgentSession): AgentSession { @@ -263,14 +372,16 @@ public class Agent( } private fun getSessionOrThrow(sessionId: SessionId): SessionWrapper = _sessions.value[sessionId] ?: acpFail("Session $sessionId not found") + + private fun getNesSessionOrThrow(sessionId: SessionId): NesSessionWrapper = _nesSessions.value[sessionId] ?: acpFail("NES session $sessionId not found") } -internal class SessionWrapperContextElement(val sessionWrapper: Agent.SessionWrapper) : AbstractCoroutineContextElement(Key) { +internal class SessionWrapperContextElement(val sessionWrapper: Agent.BaseSessionWrapper) : AbstractCoroutineContextElement(Key) { object Key : CoroutineContext.Key } -internal fun Agent.SessionWrapper.asContextElement() = SessionWrapperContextElement(this) +internal fun Agent.BaseSessionWrapper.asContextElement() = SessionWrapperContextElement(this) public val CoroutineContext.agent: Agent get() = this[SessionWrapperContextElement.Key]?.sessionWrapper?.agent ?: error("No agent data found in context") @@ -281,8 +392,16 @@ public val CoroutineContext.clientInfo: ClientInfo get() = agent.getClientInfoOrThrow() /** - * Returns a remote client connected to the counterpart via the current protocol + * Returns a remote client connected to the counterpart via the current protocol. + * Only available for chat sessions. NES sessions do not have access to client operations. + * + * @throws IllegalStateException if called from a NES session context or outside a session context */ public val CoroutineContext.client: ClientSessionOperations - get() = this[SessionWrapperContextElement.Key]?.sessionWrapper?.clientOperations ?: error("No remote client found in context") + get() { + val wrapper = this[SessionWrapperContextElement.Key]?.sessionWrapper + ?: error("No session found in context") + return (wrapper as? Agent.SessionWrapper)?.clientOperations + ?: error("Client operations are not available for NES sessions. Only chat sessions have access to client operations.") + } diff --git a/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/AgentSession.kt b/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/AgentSession.kt index 47e471d..63e0265 100644 --- a/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/AgentSession.kt +++ b/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/AgentSession.kt @@ -35,6 +35,24 @@ public interface AgentSession { */ public suspend fun cancel() {} + /** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Closes the session and frees up any resources associated with it. + * The agent must cancel any ongoing work (as if `cancel` was called) + * and then free up any resources associated with the session. + * + * Only called if the agent advertises the `session.close` capability. + * + * Corresponds to the [AcpMethod.AgentMethods.SessionClose] + */ + @UnstableApi + public suspend fun close(_meta: JsonElement?): CloseSessionResponse { + throw NotImplementedError("close is not implemented. The capability is declared in AgentCapabilities.sessionCapabilities.close") + } + /** * Return a set of available modes for the session. If the session doesn't support modes, return an empty list. */ diff --git a/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/AgentSupport.kt b/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/AgentSupport.kt index 358d85e..1620587 100644 --- a/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/AgentSupport.kt +++ b/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/AgentSupport.kt @@ -8,6 +8,7 @@ import com.agentclientprotocol.model.AuthenticateResponse import com.agentclientprotocol.model.LogoutResponse import com.agentclientprotocol.model.SessionId import com.agentclientprotocol.model.SessionInfo +import com.agentclientprotocol.model.StartNesRequest import kotlinx.serialization.json.JsonElement public interface AgentSupport { @@ -115,4 +116,21 @@ public interface AgentSupport { public suspend fun resumeSession(sessionId: SessionId, sessionParameters: SessionCreationParameters): AgentSession { throw NotImplementedError("resumeSession is not implemented. The capability is declared in AgentCapabilities.sessionCapabilities.resume") } + + /** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Creates a new NES (Next Edit Suggestions) session. + * + * NES sessions are independent from chat sessions and have their own lifecycle. + * + * @param request the request containing workspace information for the NES session + * @return a [NesAgentSession] instance for the new NES session + */ + @UnstableApi + public suspend fun createNesSession(request: StartNesRequest): NesAgentSession { + throw NotImplementedError("createNesSession is not implemented. The capability is declared in AgentCapabilities.nes") + } } \ No newline at end of file diff --git a/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/NesAgentSession.kt b/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/NesAgentSession.kt new file mode 100644 index 0000000..bbe407e --- /dev/null +++ b/acp/src/commonMain/kotlin/com/agentclientprotocol/agent/NesAgentSession.kt @@ -0,0 +1,28 @@ +package com.agentclientprotocol.agent + +import com.agentclientprotocol.annotations.UnstableApi +import com.agentclientprotocol.model.* +import kotlinx.serialization.json.JsonElement + +@UnstableApi +public interface NesAgentSession { + public val nesSessionId: SessionId + + public suspend fun suggest(request: SuggestNesRequest): SuggestNesResponse + + public suspend fun accept(id: String, _meta: JsonElement? = null) {} + + public suspend fun reject(id: String, reason: NesRejectReason? = null, _meta: JsonElement? = null) {} + + public suspend fun close(_meta: JsonElement? = null): CloseNesResponse = CloseNesResponse() + + public suspend fun didOpen(notification: DidOpenDocumentNotification) {} + + public suspend fun didChange(notification: DidChangeDocumentNotification) {} + + public suspend fun didClose(notification: DidCloseDocumentNotification) {} + + public suspend fun didSave(notification: DidSaveDocumentNotification) {} + + public suspend fun didFocus(notification: DidFocusDocumentNotification) {} +} diff --git a/acp/src/commonMain/kotlin/com/agentclientprotocol/client/Client.kt b/acp/src/commonMain/kotlin/com/agentclientprotocol/client/Client.kt index 6d55b24..b784470 100644 --- a/acp/src/commonMain/kotlin/com/agentclientprotocol/client/Client.kt +++ b/acp/src/commonMain/kotlin/com/agentclientprotocol/client/Client.kt @@ -84,6 +84,7 @@ public class Client( private data class SessionsStorage(val initializingSessionsCount: Int = 0, val sessions: PersistentMap = persistentMapOf()) private val _sessions = atomic(SessionsStorage()) + private val _nesSessions = atomic(persistentMapOf()) /** * Creates a new entry only if there are some currently initializing sessions. Otherwise, throws in the case of missing session. @@ -112,12 +113,17 @@ public class Client( return clientSessionHolder ?: acpFail("Session $sessionId not found") } - private fun removeSessionHolder(sessionId: SessionId) { + internal fun removeSessionHolder(sessionId: SessionId) { _sessions.update { currentMap -> currentMap.copy(sessions = currentMap.sessions.remove(sessionId)) } } + @OptIn(UnstableApi::class) + internal fun removeNesSession(sessionId: SessionId) { + _nesSessions.update { it.remove(sessionId) } + } + private val _clientInfo = CompletableDeferred() private val _agentInfo = CompletableDeferred() @@ -260,6 +266,7 @@ public class Client( NewSessionRequest( sessionParameters.cwd, sessionParameters.mcpServers, + sessionParameters.additionalDirectories, sessionParameters._meta ) ) @@ -286,6 +293,7 @@ public class Client( sessionId, sessionParameters.cwd, sessionParameters.mcpServers, + sessionParameters.additionalDirectories, sessionParameters._meta ) ) @@ -342,6 +350,7 @@ public class Client( sessionId, sessionParameters.cwd, sessionParameters.mcpServers, + sessionParameters.additionalDirectories, sessionParameters._meta ) ) @@ -375,6 +384,7 @@ public class Client( sessionId, sessionParameters.cwd, sessionParameters.mcpServers, + sessionParameters.additionalDirectories, sessionParameters._meta ) ) @@ -382,6 +392,50 @@ public class Client( } } + /** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Starts a new NES (Next Edit Suggestions) session. + * + * NES sessions are independent from chat sessions and have their own lifecycle. + * + * @param workspaceUri optional workspace URI + * @param workspaceFolders optional list of workspace folders + * @param repository optional repository information + * @param _meta optional metadata + * @return a [ClientNesSession] instance for the new NES session + */ + @UnstableApi + public suspend fun startNesSession( + workspaceUri: String? = null, + workspaceFolders: List? = null, + repository: NesRepository? = null, + _meta: JsonElement? = null + ): ClientNesSession { + val response = AcpMethod.AgentMethods.NesStart(protocol, StartNesRequest(workspaceUri, workspaceFolders, repository, _meta)) + val session = ClientNesSessionImpl(this, response.sessionId, protocol) + _nesSessions.update { it.put(response.sessionId, session) } + return session + } + + /** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Returns an existing NES session by its session ID. + * + * @param sessionId the session ID of the NES session + * @return a [ClientNesSession] instance + * @throws IllegalStateException if the session is not found + */ + @UnstableApi + public fun getNesSession(sessionId: SessionId): ClientNesSession { + return _nesSessions.value[sessionId] ?: error("NES session $sessionId not found") + } + /** * After ClientSessionImpl is created the delayed notifications are drained and pushed into session.notify() */ diff --git a/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientNesSession.kt b/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientNesSession.kt new file mode 100644 index 0000000..a890f7c --- /dev/null +++ b/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientNesSession.kt @@ -0,0 +1,36 @@ +package com.agentclientprotocol.client + +import com.agentclientprotocol.annotations.UnstableApi +import com.agentclientprotocol.model.* +import kotlinx.serialization.json.JsonElement + +@UnstableApi +public interface ClientNesSession { + public val nesSessionId: SessionId + + public suspend fun suggest( + uri: String, + version: Long, + position: NesPosition, + selection: NesRange? = null, + triggerKind: NesTriggerKind, + context: NesSuggestContext? = null, + _meta: JsonElement? = null + ): SuggestNesResponse + + public suspend fun accept(id: String, _meta: JsonElement? = null) + + public suspend fun reject(id: String, reason: NesRejectReason? = null, _meta: JsonElement? = null) + + public suspend fun close(_meta: JsonElement? = null): CloseNesResponse + + public suspend fun didOpen(uri: String, languageId: String, version: Long, text: String, _meta: JsonElement? = null) + + public suspend fun didChange(uri: String, version: Long, contentChanges: List, _meta: JsonElement? = null) + + public suspend fun didClose(uri: String, _meta: JsonElement? = null) + + public suspend fun didSave(uri: String, _meta: JsonElement? = null) + + public suspend fun didFocus(uri: String, version: Long, position: NesPosition, visibleRange: NesRange, _meta: JsonElement? = null) +} diff --git a/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientNesSessionImpl.kt b/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientNesSessionImpl.kt new file mode 100644 index 0000000..6acab7c --- /dev/null +++ b/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientNesSessionImpl.kt @@ -0,0 +1,60 @@ +package com.agentclientprotocol.client + +import com.agentclientprotocol.annotations.UnstableApi +import com.agentclientprotocol.model.* +import com.agentclientprotocol.protocol.Protocol +import com.agentclientprotocol.protocol.invoke + +@UnstableApi +internal class ClientNesSessionImpl( + private val client: Client, + override val nesSessionId: SessionId, + private val protocol: Protocol, +) : ClientNesSession { + + override suspend fun suggest( + uri: String, + version: Long, + position: NesPosition, + selection: NesRange?, + triggerKind: NesTriggerKind, + context: NesSuggestContext?, + _meta: kotlinx.serialization.json.JsonElement? + ): SuggestNesResponse { + return AcpMethod.AgentMethods.NesSuggest(protocol, SuggestNesRequest(nesSessionId, uri, version, position, selection, triggerKind, context, _meta)) + } + + override suspend fun accept(id: String, _meta: kotlinx.serialization.json.JsonElement?) { + AcpMethod.AgentMethods.NesAccept(protocol, AcceptNesNotification(nesSessionId, id, _meta)) + } + + override suspend fun reject(id: String, reason: NesRejectReason?, _meta: kotlinx.serialization.json.JsonElement?) { + AcpMethod.AgentMethods.NesReject(protocol, RejectNesNotification(nesSessionId, id, reason, _meta)) + } + + override suspend fun close(_meta: kotlinx.serialization.json.JsonElement?): CloseNesResponse { + val response = AcpMethod.AgentMethods.NesClose(protocol, CloseNesRequest(nesSessionId, _meta)) + client.removeNesSession(nesSessionId) + return response + } + + override suspend fun didOpen(uri: String, languageId: String, version: Long, text: String, _meta: kotlinx.serialization.json.JsonElement?) { + AcpMethod.AgentMethods.DocumentDidOpen(protocol, DidOpenDocumentNotification(nesSessionId, uri, languageId, version, text, _meta)) + } + + override suspend fun didChange(uri: String, version: Long, contentChanges: List, _meta: kotlinx.serialization.json.JsonElement?) { + AcpMethod.AgentMethods.DocumentDidChange(protocol, DidChangeDocumentNotification(nesSessionId, uri, version, contentChanges, _meta)) + } + + override suspend fun didClose(uri: String, _meta: kotlinx.serialization.json.JsonElement?) { + AcpMethod.AgentMethods.DocumentDidClose(protocol, DidCloseDocumentNotification(nesSessionId, uri, _meta)) + } + + override suspend fun didSave(uri: String, _meta: kotlinx.serialization.json.JsonElement?) { + AcpMethod.AgentMethods.DocumentDidSave(protocol, DidSaveDocumentNotification(nesSessionId, uri, _meta)) + } + + override suspend fun didFocus(uri: String, version: Long, position: NesPosition, visibleRange: NesRange, _meta: kotlinx.serialization.json.JsonElement?) { + AcpMethod.AgentMethods.DocumentDidFocus(protocol, DidFocusDocumentNotification(nesSessionId, uri, version, position, visibleRange, _meta)) + } +} diff --git a/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientSession.kt b/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientSession.kt index 9f0b5c5..d2662a3 100644 --- a/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientSession.kt +++ b/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientSession.kt @@ -31,6 +31,22 @@ public interface ClientSession { */ public suspend fun cancel() + /** + * **UNSTABLE** + * + * This capability is not part of the spec yet, and may be removed or changed at any point. + * + * Closes the session and frees up any resources associated with it. + * The agent must cancel any ongoing work (as if `session/cancel` was called) + * and then free up any resources associated with the session. + * + * Only available if the agent advertises the `session.close` capability. + * + * Corresponds to the [com.agentclientprotocol.model.AcpMethod.AgentMethods.SessionClose] + */ + @UnstableApi + public suspend fun close(_meta: JsonElement? = null): CloseSessionResponse + /** * The flag indicates whether the agent supports the session mode changing. */ diff --git a/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientSessionImpl.kt b/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientSessionImpl.kt index 17c210a..f6a4702 100644 --- a/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientSessionImpl.kt +++ b/acp/src/commonMain/kotlin/com/agentclientprotocol/client/ClientSessionImpl.kt @@ -92,6 +92,13 @@ internal class ClientSessionImpl( AcpMethod.AgentMethods.SessionCancel(protocol, CancelNotification(sessionId)) } + @UnstableApi + override suspend fun close(_meta: JsonElement?): CloseSessionResponse { + val response = AcpMethod.AgentMethods.SessionClose(protocol, CloseSessionRequest(sessionId, _meta)) + client.removeSessionHolder(sessionId) + return response + } + override val modesSupported: Boolean get() = createdResponse.modes != null diff --git a/acp/src/commonMain/kotlin/com/agentclientprotocol/common/SessionCreationParameters.kt b/acp/src/commonMain/kotlin/com/agentclientprotocol/common/SessionCreationParameters.kt index 605c8e8..7e4eb14 100644 --- a/acp/src/commonMain/kotlin/com/agentclientprotocol/common/SessionCreationParameters.kt +++ b/acp/src/commonMain/kotlin/com/agentclientprotocol/common/SessionCreationParameters.kt @@ -1,5 +1,6 @@ package com.agentclientprotocol.common +import com.agentclientprotocol.annotations.UnstableApi import com.agentclientprotocol.model.McpServer import kotlinx.serialization.json.JsonElement @@ -9,5 +10,7 @@ public typealias SessionParameters = SessionCreationParameters public class SessionCreationParameters( public val cwd: String, public val mcpServers: List, + @property:UnstableApi + public val additionalDirectories: List? = null, public val _meta: JsonElement? = null ) \ No newline at end of file