Skip to content

Commit cbb37c6

Browse files
author
Milder Hernandez Cagua
committed
Add @nullable annotations
1 parent 66976a9 commit cbb37c6

File tree

3 files changed

+25
-11
lines changed

3 files changed

+25
-11
lines changed

agents/semantickernel-agents-core/src/main/java/com/microsoft/semantickernel/agents/chatcompletion/ChatCompletionAgent.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ private ChatCompletionAgent(
6262
@Override
6363
public Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(
6464
List<ChatMessageContent<?>> messages,
65-
AgentThread thread,
65+
@Nullable AgentThread thread,
6666
@Nullable AgentInvokeOptions options
6767
) {
6868
return ensureThreadExistsWithMessagesAsync(messages, thread, ChatHistoryAgentThread::new)

semantickernel-api/src/main/java/com/microsoft/semantickernel/agents/Agent.java

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
import reactor.core.publisher.Flux;
1818
import reactor.core.publisher.Mono;
1919

20+
import javax.annotation.Nullable;
21+
2022
/**
2123
* Interface for a semantic kernel agent.
2224
*/
@@ -49,7 +51,7 @@ public interface Agent {
4951
* @param message The message to process
5052
* @return A Mono containing the agent response
5153
*/
52-
Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(ChatMessageContent<?> message);
54+
Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(@Nullable ChatMessageContent<?> message);
5355

5456
/**
5557
* Invokes the agent with the given message and thread.
@@ -58,7 +60,8 @@ public interface Agent {
5860
* @param thread The agent thread to use
5961
* @return A Mono containing the agent response
6062
*/
61-
Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(ChatMessageContent<?> message, AgentThread thread);
63+
Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(@Nullable ChatMessageContent<?> message,
64+
@Nullable AgentThread thread);
6265

6366
/**
6467
* Invokes the agent with the given message, thread, and options.
@@ -68,7 +71,9 @@ public interface Agent {
6871
* @param options The options for invoking the agent
6972
* @return A Mono containing the agent response
7073
*/
71-
Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(ChatMessageContent<?> message, AgentThread thread, AgentInvokeOptions options);
74+
Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(@Nullable ChatMessageContent<?> message,
75+
@Nullable AgentThread thread,
76+
@Nullable AgentInvokeOptions options);
7277

7378
/**
7479
* Invoke the agent with the given chat history.
@@ -78,7 +83,9 @@ public interface Agent {
7883
* @param options The options for invoking the agent
7984
* @return A Mono containing the agent response
8085
*/
81-
Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(List<ChatMessageContent<?>> messages, AgentThread thread, AgentInvokeOptions options);
86+
Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(List<ChatMessageContent<?>> messages,
87+
@Nullable AgentThread thread,
88+
@Nullable AgentInvokeOptions options);
8289

8390
/**
8491
* Notifies the agent of a new message.

semantickernel-api/src/main/java/com/microsoft/semantickernel/agents/KernelAgent.java

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import reactor.core.publisher.Flux;
1212
import reactor.core.publisher.Mono;
1313

14+
import javax.annotation.Nullable;
1415
import java.util.ArrayList;
1516
import java.util.HashMap;
1617
import java.util.List;
@@ -169,19 +170,25 @@ protected <T extends AgentThread> Mono<T> ensureThreadExistsWithMessagesAsync(Li
169170
}
170171

171172
@Override
172-
public Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(ChatMessageContent<?> message) {
173-
return invokeAsync(message, null);
173+
public Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(@Nullable ChatMessageContent<?> message) {
174+
return invokeAsync(message, null, null);
174175
}
175176

176177
@Override
177-
public Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(ChatMessageContent<?> message, AgentThread thread) {
178-
return invokeAsync(message, thread, AgentInvokeOptions.builder().build());
178+
public Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(@Nullable ChatMessageContent<?> message,
179+
@Nullable AgentThread thread) {
180+
return invokeAsync(message, thread, null);
179181
}
180182

181183
@Override
182-
public Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(ChatMessageContent<?> message, AgentThread thread, AgentInvokeOptions options) {
184+
public Mono<List<AgentResponseItem<ChatMessageContent<?>>>> invokeAsync(
185+
@Nullable ChatMessageContent<?> message,
186+
@Nullable AgentThread thread,
187+
@Nullable AgentInvokeOptions options) {
183188
ArrayList<ChatMessageContent<?>> messages = new ArrayList<>();
184-
messages.add(message);
189+
if (message != null) {
190+
messages.add(message);
191+
}
185192
return invokeAsync(messages, thread, options);
186193
}
187194
}

0 commit comments

Comments
 (0)