@@ -20,12 +20,24 @@ public open class AcpMethod(public val methodName: MethodName) {
2020 public val responseSerializer : KSerializer <TResponse >
2121 ) : AcpMethod(MethodName (method))
2222
23+ public open class AcpRequestResponseNullableMethod <TRequest : AcpRequest , TResponse : AcpResponse >(
24+ method : String ,
25+ public val requestSerializer : KSerializer <TRequest >,
26+ public val responseSerializer : KSerializer <TResponse >
27+ ) : AcpMethod(MethodName (method))
28+
2329 public open class AcpSessionRequestResponseMethod <TRequest , TResponse : AcpResponse >(method : String ,
2430 requestSerializer : KSerializer <TRequest >,
2531 responseSerializer : KSerializer <TResponse >
2632 ) : AcpRequestResponseMethod<TRequest, TResponse>(method, requestSerializer, responseSerializer)
2733 where TRequest : AcpRequest , TRequest : AcpWithSessionId
2834
35+ public open class AcpSessionRequestResponseNullableMethod <TRequest , TResponse : AcpResponse >(method : String ,
36+ requestSerializer : KSerializer <TRequest >,
37+ responseSerializer : KSerializer <TResponse >
38+ ) : AcpRequestResponseNullableMethod<TRequest, TResponse>(method, requestSerializer, responseSerializer)
39+ where TRequest : AcpRequest , TRequest : AcpWithSessionId
40+
2941 public open class AcpNotificationMethod <TNotification : AcpNotification >(
3042 method : String ,
3143 public val serializer : KSerializer <TNotification >,
@@ -43,16 +55,16 @@ public open class AcpMethod(public val methodName: MethodName) {
4355 public object AgentMethods {
4456 // Agent-side operations (methods that agents can call on clients)
4557 public object Initialize : AcpRequestResponseMethod<InitializeRequest, InitializeResponse>(" initialize" , InitializeRequest .serializer(), InitializeResponse .serializer())
46- public object Authenticate : AcpRequestResponseMethod <AuthenticateRequest, AuthenticateResponse>(" authenticate" , AuthenticateRequest .serializer(), AuthenticateResponse .serializer())
58+ public object Authenticate : AcpRequestResponseNullableMethod <AuthenticateRequest, AuthenticateResponse>(" authenticate" , AuthenticateRequest .serializer(), AuthenticateResponse .serializer())
4759 public object SessionNew : AcpRequestResponseMethod<NewSessionRequest, NewSessionResponse>(" session/new" , NewSessionRequest .serializer(), NewSessionResponse .serializer())
4860 public object SessionLoad : AcpRequestResponseMethod<LoadSessionRequest, LoadSessionResponse>(" session/load" , LoadSessionRequest .serializer(), LoadSessionResponse .serializer())
4961
5062 // session specific
5163 public object SessionPrompt : AcpSessionRequestResponseMethod<PromptRequest, PromptResponse>(" session/prompt" , PromptRequest .serializer(), PromptResponse .serializer())
5264 public object SessionCancel : AcpSessionNotificationMethod<CancelNotification>(" session/cancel" , CancelNotification .serializer())
53- public object SessionSetMode : AcpSessionRequestResponseMethod <SetSessionModeRequest, SetSessionModeResponse>(" session/set_mode" , SetSessionModeRequest .serializer(), SetSessionModeResponse .serializer())
65+ public object SessionSetMode : AcpSessionRequestResponseNullableMethod <SetSessionModeRequest, SetSessionModeResponse>(" session/set_mode" , SetSessionModeRequest .serializer(), SetSessionModeResponse .serializer())
5466 @UnstableApi
55- public object SessionSetModel : AcpSessionRequestResponseMethod <SetSessionModelRequest, SetSessionModelResponse>(" session/set_model" , SetSessionModelRequest .serializer(), SetSessionModelResponse .serializer())
67+ public object SessionSetModel : AcpSessionRequestResponseNullableMethod <SetSessionModelRequest, SetSessionModelResponse>(" session/set_model" , SetSessionModelRequest .serializer(), SetSessionModelResponse .serializer())
5668 }
5769
5870 public object ClientMethods {
@@ -62,12 +74,12 @@ public open class AcpMethod(public val methodName: MethodName) {
6274
6375 // extensions
6476 public object FsReadTextFile : AcpSessionRequestResponseMethod<ReadTextFileRequest, ReadTextFileResponse>(" fs/read_text_file" , ReadTextFileRequest .serializer(), ReadTextFileResponse .serializer())
65- public object FsWriteTextFile : AcpSessionRequestResponseMethod <WriteTextFileRequest, WriteTextFileResponse>(" fs/write_text_file" , WriteTextFileRequest .serializer(), WriteTextFileResponse .serializer())
77+ public object FsWriteTextFile : AcpSessionRequestResponseNullableMethod <WriteTextFileRequest, WriteTextFileResponse>(" fs/write_text_file" , WriteTextFileRequest .serializer(), WriteTextFileResponse .serializer())
6678 public object TerminalCreate : AcpSessionRequestResponseMethod<CreateTerminalRequest, CreateTerminalResponse>(" terminal/create" , CreateTerminalRequest .serializer(), CreateTerminalResponse .serializer())
6779 public object TerminalOutput : AcpSessionRequestResponseMethod<TerminalOutputRequest, TerminalOutputResponse>(" terminal/output" , TerminalOutputRequest .serializer(), TerminalOutputResponse .serializer())
68- public object TerminalRelease : AcpSessionRequestResponseMethod <ReleaseTerminalRequest, ReleaseTerminalResponse>(" terminal/release" , ReleaseTerminalRequest .serializer(), ReleaseTerminalResponse .serializer())
69- public object TerminalWaitForExit : AcpSessionRequestResponseMethod <WaitForTerminalExitRequest, WaitForTerminalExitResponse>(" terminal/wait_for_exit" , WaitForTerminalExitRequest .serializer(), WaitForTerminalExitResponse .serializer())
70- public object TerminalKill : AcpSessionRequestResponseMethod <KillTerminalCommandRequest, KillTerminalCommandResponse>(" terminal/kill" , KillTerminalCommandRequest .serializer(), KillTerminalCommandResponse .serializer())
80+ public object TerminalRelease : AcpSessionRequestResponseNullableMethod <ReleaseTerminalRequest, ReleaseTerminalResponse>(" terminal/release" , ReleaseTerminalRequest .serializer(), ReleaseTerminalResponse .serializer())
81+ public object TerminalWaitForExit : AcpSessionRequestResponseNullableMethod <WaitForTerminalExitRequest, WaitForTerminalExitResponse>(" terminal/wait_for_exit" , WaitForTerminalExitRequest .serializer(), WaitForTerminalExitResponse .serializer())
82+ public object TerminalKill : AcpSessionRequestResponseNullableMethod <KillTerminalCommandRequest, KillTerminalCommandResponse>(" terminal/kill" , KillTerminalCommandRequest .serializer(), KillTerminalCommandResponse .serializer())
7183 }
7284
7385
0 commit comments