From 3f425c320d03030c1c9df78968719c68abb62466 Mon Sep 17 00:00:00 2001 From: tomsun28 Date: Thu, 14 Aug 2025 11:02:19 +0800 Subject: [PATCH] chore: rename assistant relate entity (#35) --- .../z/openapi/api/assistant/AssistantApi.java | 10 ++-- .../openapi/service/agents/AgentContent.java | 10 ++-- .../service/assistant/AssistantChoice.java | 11 ++-- .../assistant/AssistantCompletion.java | 4 +- ...age.java => AssistantCompletionUsage.java} | 2 +- ...java => AssistantConversationMessage.java} | 4 +- ...ErrorInfo.java => AssistantErrorInfo.java} | 2 +- .../assistant/AssistantExtraParameters.java | 2 +- ....java => AssistantMessageTextContent.java} | 2 +- .../assistant/AssistantParameters.java | 3 +- .../service/assistant/AssistantService.java | 12 ++--- .../assistant/AssistantServiceImpl.java | 18 +++---- ...java => AssistantTranslateParameters.java} | 2 +- ...a => AssistantConversationParameters.java} | 3 +- ...e.java => AssistantConversationUsage.java} | 4 +- ...va => AssistantConversationUsageList.java} | 4 +- ...sistantConversationUsageListResponse.java} | 8 +-- ...AssistantConversationUsageListStatus.java} | 4 +- .../{Usage.java => AssistantUsage.java} | 2 +- .../message/AssistantMessageContent.java | 11 ++++ ...ck.java => AssistantTextContentBlock.java} | 4 +- ...ock.java => AssistantToolsDeltaBlock.java} | 12 ++--- .../assistant/message/MessageContent.java | 11 ---- .../message/tools/AssistantToolsType.java | 21 ++++++++ .../assistant/message/tools/ToolsType.java | 21 -------- ...ter.java => AssistantCodeInterpreter.java} | 5 +- ...=> AssistantCodeInterpreterToolBlock.java} | 6 +-- ...> AssistantCodeInterpreterToolOutput.java} | 2 +- ...ingTool.java => AssistantDrawingTool.java} | 4 +- ...ck.java => AssistantDrawingToolBlock.java} | 6 +-- ...t.java => AssistantDrawingToolOutput.java} | 2 +- ...onTool.java => AssistantFunctionTool.java} | 4 +- ...k.java => AssistantFunctionToolBlock.java} | 6 +-- ....java => AssistantFunctionToolOutput.java} | 2 +- ...lTool.java => AssistantRetrievalTool.java} | 4 +- ....java => AssistantRetrievalToolBlock.java} | 6 +-- ...java => AssistantRetrievalToolOutput.java} | 2 +- ...bBrowser.java => AssistantWebBrowser.java} | 4 +- ...ut.java => AssistantWebBrowserOutput.java} | 2 +- ...java => AssistantWebBrowserToolBlock.java} | 6 +-- ....java => AssistantQuerySupportParams.java} | 2 +- ... AssistantMessageContentDeserializer.java} | 26 ++++----- .../assistant/AssistantServiceTest.java | 53 +++++++++++-------- 43 files changed, 168 insertions(+), 161 deletions(-) rename core/src/main/java/ai/z/openapi/service/assistant/{CompletionUsage.java => AssistantCompletionUsage.java} (94%) rename core/src/main/java/ai/z/openapi/service/assistant/{ConversationMessage.java => AssistantConversationMessage.java} (86%) rename core/src/main/java/ai/z/openapi/service/assistant/{ErrorInfo.java => AssistantErrorInfo.java} (93%) rename core/src/main/java/ai/z/openapi/service/assistant/{MessageTextContent.java => AssistantMessageTextContent.java} (94%) rename core/src/main/java/ai/z/openapi/service/assistant/{TranslateParameters.java => AssistantTranslateParameters.java} (92%) rename core/src/main/java/ai/z/openapi/service/assistant/conversation/{ConversationParameters.java => AssistantConversationParameters.java} (86%) rename core/src/main/java/ai/z/openapi/service/assistant/conversation/{ConversationUsage.java => AssistantConversationUsage.java} (90%) rename core/src/main/java/ai/z/openapi/service/assistant/conversation/{ConversationUsageList.java => AssistantConversationUsageList.java} (83%) rename core/src/main/java/ai/z/openapi/service/assistant/conversation/{ConversationUsageListResponse.java => AssistantConversationUsageListResponse.java} (70%) rename core/src/main/java/ai/z/openapi/service/assistant/conversation/{ConversationUsageListStatus.java => AssistantConversationUsageListStatus.java} (82%) rename core/src/main/java/ai/z/openapi/service/assistant/conversation/{Usage.java => AssistantUsage.java} (94%) create mode 100644 core/src/main/java/ai/z/openapi/service/assistant/message/AssistantMessageContent.java rename core/src/main/java/ai/z/openapi/service/assistant/message/{TextContentBlock.java => AssistantTextContentBlock.java} (87%) rename core/src/main/java/ai/z/openapi/service/assistant/message/{ToolsDeltaBlock.java => AssistantToolsDeltaBlock.java} (67%) delete mode 100644 core/src/main/java/ai/z/openapi/service/assistant/message/MessageContent.java create mode 100644 core/src/main/java/ai/z/openapi/service/assistant/message/tools/AssistantToolsType.java delete mode 100644 core/src/main/java/ai/z/openapi/service/assistant/message/tools/ToolsType.java rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/{CodeInterpreter.java => AssistantCodeInterpreter.java} (85%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/{CodeInterpreterToolBlock.java => AssistantCodeInterpreterToolBlock.java} (80%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/{CodeInterpreterToolOutput.java => AssistantCodeInterpreterToolOutput.java} (92%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/{DrawingTool.java => AssistantDrawingTool.java} (86%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/{DrawingToolBlock.java => AssistantDrawingToolBlock.java} (82%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/{DrawingToolOutput.java => AssistantDrawingToolOutput.java} (91%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/{FunctionTool.java => AssistantFunctionTool.java} (89%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/{FunctionToolBlock.java => AssistantFunctionToolBlock.java} (82%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/{FunctionToolOutput.java => AssistantFunctionToolOutput.java} (91%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/{RetrievalTool.java => AssistantRetrievalTool.java} (85%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/{RetrievalToolBlock.java => AssistantRetrievalToolBlock.java} (81%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/{RetrievalToolOutput.java => AssistantRetrievalToolOutput.java} (93%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/{WebBrowser.java => AssistantWebBrowser.java} (86%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/{WebBrowserOutput.java => AssistantWebBrowserOutput.java} (95%) rename core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/{WebBrowserToolBlock.java => AssistantWebBrowserToolBlock.java} (82%) rename core/src/main/java/ai/z/openapi/service/assistant/query_support/{QuerySupportParams.java => AssistantQuerySupportParams.java} (86%) rename core/src/main/java/ai/z/openapi/service/deserialize/assistant/message/{MessageContentDeserializer.java => AssistantMessageContentDeserializer.java} (80%) diff --git a/core/src/main/java/ai/z/openapi/api/assistant/AssistantApi.java b/core/src/main/java/ai/z/openapi/api/assistant/AssistantApi.java index 4f8ced9..a93fb36 100644 --- a/core/src/main/java/ai/z/openapi/api/assistant/AssistantApi.java +++ b/core/src/main/java/ai/z/openapi/api/assistant/AssistantApi.java @@ -2,10 +2,10 @@ package ai.z.openapi.api.assistant; import ai.z.openapi.service.assistant.AssistantCompletion; import ai.z.openapi.service.assistant.AssistantParameters; -import ai.z.openapi.service.assistant.conversation.ConversationUsageListStatus; +import ai.z.openapi.service.assistant.conversation.AssistantConversationUsageListStatus; import ai.z.openapi.service.assistant.query_support.AssistantSupportStatus; -import ai.z.openapi.service.assistant.conversation.ConversationParameters; -import ai.z.openapi.service.assistant.query_support.QuerySupportParams; +import ai.z.openapi.service.assistant.conversation.AssistantConversationParameters; +import ai.z.openapi.service.assistant.query_support.AssistantQuerySupportParams; import io.reactivex.Single; import okhttp3.ResponseBody; import retrofit2.Call; @@ -46,7 +46,7 @@ public interface AssistantApi { * @return Assistant support status and available capabilities */ @POST("assistant/list") - Single querySupport(@Body QuerySupportParams request); + Single querySupport(@Body AssistantQuerySupportParams request); /** * Query conversation usage statistics Retrieves usage metrics and conversation @@ -55,6 +55,6 @@ public interface AssistantApi { * @return Conversation usage statistics and history information */ @POST("assistant/conversation/list") - Single queryConversationUsage(@Body ConversationParameters request); + Single queryConversationUsage(@Body AssistantConversationParameters request); } diff --git a/core/src/main/java/ai/z/openapi/service/agents/AgentContent.java b/core/src/main/java/ai/z/openapi/service/agents/AgentContent.java index cab43c7..dd13dd0 100644 --- a/core/src/main/java/ai/z/openapi/service/agents/AgentContent.java +++ b/core/src/main/java/ai/z/openapi/service/agents/AgentContent.java @@ -14,21 +14,21 @@ import lombok.NoArgsConstructor; @Builder public class AgentContent { - /** 消息类型 text image_url video_url */ + /** Message type: text, image_url, video_url */ private String type; - /** 消息内容 when type is text */ + /** Message content when type is text */ private String text; - /** 消息图片URL when type is image_url */ + /** Message image URL when type is image_url */ @JsonProperty("image_url") private String imageUrl; - /** 消息视频URL when type is video_url */ + /** Message video URL when type is video_url */ @JsonProperty("video_url") private String videoUrl; - /** 消息对象 when type is object */ + /** Message object when type is object */ @JsonProperty("object") private Object object; diff --git a/core/src/main/java/ai/z/openapi/service/assistant/AssistantChoice.java b/core/src/main/java/ai/z/openapi/service/assistant/AssistantChoice.java index d16c80e..8069d0e 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/AssistantChoice.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/AssistantChoice.java @@ -7,7 +7,7 @@ import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.node.JsonNodeFactory; import com.fasterxml.jackson.databind.node.ObjectNode; -import ai.z.openapi.service.assistant.message.MessageContent; +import ai.z.openapi.service.assistant.message.AssistantMessageContent; import ai.z.openapi.service.deserialize.MessageDeserializeFactory; import ai.z.openapi.service.deserialize.assistant.AssistantChoiceDeserializer; @@ -31,7 +31,7 @@ public class AssistantChoice extends ObjectNode { * Current conversation output message content. */ @JsonProperty("delta") - private MessageContent delta; + private AssistantMessageContent delta; /** * Reason for inference completion: - stop: inference naturally ended or triggered @@ -66,7 +66,8 @@ public class AssistantChoice extends ObjectNode { this.setIndex(0); } if (objectNode.has("delta")) { - MessageContent delta = objectMapper.convertValue(objectNode.get("delta"), MessageContent.class); + AssistantMessageContent delta = objectMapper.convertValue(objectNode.get("delta"), + AssistantMessageContent.class); this.setDelta(delta); } else { @@ -108,11 +109,11 @@ public class AssistantChoice extends ObjectNode { this.put("index", index); } - public MessageContent getDelta() { + public AssistantMessageContent getDelta() { return delta; } - public void setDelta(MessageContent delta) { + public void setDelta(AssistantMessageContent delta) { this.delta = delta; this.putPOJO("delta", delta); } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/AssistantCompletion.java b/core/src/main/java/ai/z/openapi/service/assistant/AssistantCompletion.java index 8cc2a19..053262f 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/AssistantCompletion.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/AssistantCompletion.java @@ -53,7 +53,7 @@ public class AssistantCompletion { * Error information */ @JsonProperty("last_error") - private ErrorInfo lastError; + private AssistantErrorInfo lastError; /** * Incremental return information @@ -71,6 +71,6 @@ public class AssistantCompletion { * Token count statistics */ @JsonProperty("usage") - private CompletionUsage usage; + private AssistantCompletionUsage usage; } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/CompletionUsage.java b/core/src/main/java/ai/z/openapi/service/assistant/AssistantCompletionUsage.java similarity index 94% rename from core/src/main/java/ai/z/openapi/service/assistant/CompletionUsage.java rename to core/src/main/java/ai/z/openapi/service/assistant/AssistantCompletionUsage.java index 6410c34..11fdecc 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/CompletionUsage.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/AssistantCompletionUsage.java @@ -14,7 +14,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor -public class CompletionUsage { +public class AssistantCompletionUsage { /** * Number of tokens in the input (prompt). diff --git a/core/src/main/java/ai/z/openapi/service/assistant/ConversationMessage.java b/core/src/main/java/ai/z/openapi/service/assistant/AssistantConversationMessage.java similarity index 86% rename from core/src/main/java/ai/z/openapi/service/assistant/ConversationMessage.java rename to core/src/main/java/ai/z/openapi/service/assistant/AssistantConversationMessage.java index 936ce34..bef1748 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/ConversationMessage.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/AssistantConversationMessage.java @@ -17,7 +17,7 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor @Data -public class ConversationMessage { +public class AssistantConversationMessage { /** * The role of the user input, e.g., 'user'. @@ -29,6 +29,6 @@ public class ConversationMessage { * The content of the conversation message. */ @JsonProperty("content") - private List content; + private List content; } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/ErrorInfo.java b/core/src/main/java/ai/z/openapi/service/assistant/AssistantErrorInfo.java similarity index 93% rename from core/src/main/java/ai/z/openapi/service/assistant/ErrorInfo.java rename to core/src/main/java/ai/z/openapi/service/assistant/AssistantErrorInfo.java index c0d6e43..12ec47f 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/ErrorInfo.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/AssistantErrorInfo.java @@ -14,7 +14,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor -public class ErrorInfo { +public class AssistantErrorInfo { /** * Error code. diff --git a/core/src/main/java/ai/z/openapi/service/assistant/AssistantExtraParameters.java b/core/src/main/java/ai/z/openapi/service/assistant/AssistantExtraParameters.java index 28c4a1c..0eb354a 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/AssistantExtraParameters.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/AssistantExtraParameters.java @@ -18,6 +18,6 @@ public class AssistantExtraParameters { /** * Translation agent parameters */ - private TranslateParameters translate; + private AssistantTranslateParameters translate; } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/MessageTextContent.java b/core/src/main/java/ai/z/openapi/service/assistant/AssistantMessageTextContent.java similarity index 94% rename from core/src/main/java/ai/z/openapi/service/assistant/MessageTextContent.java rename to core/src/main/java/ai/z/openapi/service/assistant/AssistantMessageTextContent.java index 70ad537..eb68e1e 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/MessageTextContent.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/AssistantMessageTextContent.java @@ -16,7 +16,7 @@ import lombok.experimental.SuperBuilder; @NoArgsConstructor @AllArgsConstructor @Data -public class MessageTextContent { +public class AssistantMessageTextContent { /** * The type of the message content, currently only "text" is supported. diff --git a/core/src/main/java/ai/z/openapi/service/assistant/AssistantParameters.java b/core/src/main/java/ai/z/openapi/service/assistant/AssistantParameters.java index a0c07da..3a92f32 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/AssistantParameters.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/AssistantParameters.java @@ -9,7 +9,6 @@ import lombok.EqualsAndHashCode; import lombok.NoArgsConstructor; import lombok.experimental.SuperBuilder; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -51,7 +50,7 @@ public class AssistantParameters extends CommonRequest implements ClientRequest< * The list of conversation messages. */ @JsonProperty("messages") - private List messages; + private List messages; /** * The list of file attachments for the conversation, optional. diff --git a/core/src/main/java/ai/z/openapi/service/assistant/AssistantService.java b/core/src/main/java/ai/z/openapi/service/assistant/AssistantService.java index b6f81d7..64b592f 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/AssistantService.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/AssistantService.java @@ -1,11 +1,9 @@ package ai.z.openapi.service.assistant; -import ai.z.openapi.service.assistant.AssistantParameters; -import ai.z.openapi.service.assistant.AssistantApiResponse; -import ai.z.openapi.service.assistant.conversation.ConversationParameters; -import ai.z.openapi.service.assistant.conversation.ConversationUsageListResponse; +import ai.z.openapi.service.assistant.conversation.AssistantConversationParameters; +import ai.z.openapi.service.assistant.conversation.AssistantConversationUsageListResponse; import ai.z.openapi.service.assistant.query_support.AssistantSupportResponse; -import ai.z.openapi.service.assistant.query_support.QuerySupportParams; +import ai.z.openapi.service.assistant.query_support.AssistantQuerySupportParams; /** * Assistant service interface @@ -31,13 +29,13 @@ public interface AssistantService { * @param request the query support request * @return AssistantSupportResponse containing the support information */ - AssistantSupportResponse querySupport(QuerySupportParams request); + AssistantSupportResponse querySupport(AssistantQuerySupportParams request); /** * Queries conversation usage information. * @param request the conversation parameters * @return ConversationUsageListResponse containing the usage information */ - ConversationUsageListResponse queryConversationUsage(ConversationParameters request); + AssistantConversationUsageListResponse queryConversationUsage(AssistantConversationParameters request); } \ No newline at end of file diff --git a/core/src/main/java/ai/z/openapi/service/assistant/AssistantServiceImpl.java b/core/src/main/java/ai/z/openapi/service/assistant/AssistantServiceImpl.java index 5b006a4..66bf79c 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/AssistantServiceImpl.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/AssistantServiceImpl.java @@ -2,12 +2,12 @@ package ai.z.openapi.service.assistant; import ai.z.openapi.AbstractAiClient; import ai.z.openapi.api.assistant.AssistantApi; -import ai.z.openapi.service.assistant.conversation.ConversationParameters; -import ai.z.openapi.service.assistant.conversation.ConversationUsageListResponse; -import ai.z.openapi.service.assistant.conversation.ConversationUsageListStatus; +import ai.z.openapi.service.assistant.conversation.AssistantConversationParameters; +import ai.z.openapi.service.assistant.conversation.AssistantConversationUsageListResponse; +import ai.z.openapi.service.assistant.conversation.AssistantConversationUsageListStatus; import ai.z.openapi.service.assistant.query_support.AssistantSupportResponse; import ai.z.openapi.service.assistant.query_support.AssistantSupportStatus; -import ai.z.openapi.service.assistant.query_support.QuerySupportParams; +import ai.z.openapi.service.assistant.query_support.AssistantQuerySupportParams; import ai.z.openapi.utils.FlowableRequestSupplier; import ai.z.openapi.utils.RequestSupplier; import okhttp3.ResponseBody; @@ -39,15 +39,15 @@ public class AssistantServiceImpl implements AssistantService { } @Override - public AssistantSupportResponse querySupport(QuerySupportParams request) { - RequestSupplier supplier = assistantApi::querySupport; + public AssistantSupportResponse querySupport(AssistantQuerySupportParams request) { + RequestSupplier supplier = assistantApi::querySupport; return zAiClient.executeRequest(request, supplier, AssistantSupportResponse.class); } @Override - public ConversationUsageListResponse queryConversationUsage(ConversationParameters request) { - RequestSupplier supplier = assistantApi::queryConversationUsage; - return zAiClient.executeRequest(request, supplier, ConversationUsageListResponse.class); + public AssistantConversationUsageListResponse queryConversationUsage(AssistantConversationParameters request) { + RequestSupplier supplier = assistantApi::queryConversationUsage; + return zAiClient.executeRequest(request, supplier, AssistantConversationUsageListResponse.class); } } \ No newline at end of file diff --git a/core/src/main/java/ai/z/openapi/service/assistant/TranslateParameters.java b/core/src/main/java/ai/z/openapi/service/assistant/AssistantTranslateParameters.java similarity index 92% rename from core/src/main/java/ai/z/openapi/service/assistant/TranslateParameters.java rename to core/src/main/java/ai/z/openapi/service/assistant/AssistantTranslateParameters.java index 21a840f..d05ae3d 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/TranslateParameters.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/AssistantTranslateParameters.java @@ -13,7 +13,7 @@ import lombok.experimental.SuperBuilder; @NoArgsConstructor @AllArgsConstructor @Data -public class TranslateParameters { +public class AssistantTranslateParameters { /** * Source language for translation. diff --git a/core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationParameters.java b/core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationParameters.java similarity index 86% rename from core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationParameters.java rename to core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationParameters.java index dd8d99d..c688ca0 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationParameters.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationParameters.java @@ -17,7 +17,8 @@ import lombok.experimental.SuperBuilder; @NoArgsConstructor @AllArgsConstructor @Data -public class ConversationParameters extends CommonRequest implements ClientRequest { +public class AssistantConversationParameters extends CommonRequest + implements ClientRequest { /** * The Assistant ID. diff --git a/core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationUsage.java b/core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationUsage.java similarity index 90% rename from core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationUsage.java rename to core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationUsage.java index 932960e..6d7f018 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationUsage.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationUsage.java @@ -7,7 +7,7 @@ import lombok.Data; * This class represents the usage data for a specific conversation. */ @Data -public class ConversationUsage { +public class AssistantConversationUsage { /** * The conversation ID. @@ -37,6 +37,6 @@ public class ConversationUsage { * The usage statistics for the conversation. */ @JsonProperty("usage") - private Usage usage; + private AssistantUsage usage; } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationUsageList.java b/core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationUsageList.java similarity index 83% rename from core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationUsageList.java rename to core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationUsageList.java index 38a2ddb..8fbb4a5 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationUsageList.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationUsageList.java @@ -9,7 +9,7 @@ import java.util.List; * This class represents a list of conversation usage data. */ @Data -public class ConversationUsageList { +public class AssistantConversationUsageList { /** * The Assistant ID. @@ -27,6 +27,6 @@ public class ConversationUsageList { * The list of conversation usage data. */ @JsonProperty("conversation_list") - private List conversationList; + private List conversationList; } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationUsageListResponse.java b/core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationUsageListResponse.java similarity index 70% rename from core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationUsageListResponse.java rename to core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationUsageListResponse.java index faeac90..75f5307 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/conversation/ConversationUsageListResponse.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/conversation/AssistantConversationUsageListResponse.java @@ -9,7 +9,7 @@ import lombok.Data; * for retrieving conversation usage statistics. */ @Data -public class ConversationUsageListResponse implements ClientResponse { +public class AssistantConversationUsageListResponse implements ClientResponse { /** * Response status code. @@ -29,17 +29,17 @@ public class ConversationUsageListResponse implements ClientResponse toolCalls; + private List toolCalls; /** * The role of the speaker, default is "tool". @@ -27,16 +27,16 @@ public class ToolsDeltaBlock extends MessageContent { /** * Default constructor. */ - public ToolsDeltaBlock() { + public AssistantToolsDeltaBlock() { } // Getters and Setters - public List getToolCalls() { + public List getToolCalls() { return toolCalls; } - public void setToolCalls(List toolCalls) { + public void setToolCalls(List toolCalls) { this.toolCalls = toolCalls; } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/MessageContent.java b/core/src/main/java/ai/z/openapi/service/assistant/message/MessageContent.java deleted file mode 100644 index 47ebf6a..0000000 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/MessageContent.java +++ /dev/null @@ -1,11 +0,0 @@ -package ai.z.openapi.service.assistant.message; - -import com.fasterxml.jackson.databind.annotation.JsonDeserialize; -import ai.z.openapi.service.deserialize.JsonTypeMapping; -import ai.z.openapi.service.deserialize.assistant.message.MessageContentDeserializer; - -@JsonTypeMapping({ ToolsDeltaBlock.class, TextContentBlock.class }) -@JsonDeserialize(using = MessageContentDeserializer.class) -public abstract class MessageContent { - -} diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/AssistantToolsType.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/AssistantToolsType.java new file mode 100644 index 0000000..3566826 --- /dev/null +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/AssistantToolsType.java @@ -0,0 +1,21 @@ +package ai.z.openapi.service.assistant.message.tools; + +import ai.z.openapi.service.assistant.message.tools.code_interpreter.AssistantCodeInterpreterToolBlock; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonSubTypes; +import com.fasterxml.jackson.annotation.JsonTypeInfo; +import ai.z.openapi.service.assistant.message.tools.drawing_tool.AssistantDrawingToolBlock; +import ai.z.openapi.service.assistant.message.tools.function.AssistantFunctionToolBlock; +import ai.z.openapi.service.assistant.message.tools.retrieval.AssistantRetrievalToolBlock; +import ai.z.openapi.service.assistant.message.tools.web_browser.AssistantWebBrowserToolBlock; + +@JsonInclude(JsonInclude.Include.NON_NULL) +@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type", include = JsonTypeInfo.As.EXISTING_PROPERTY) +@JsonSubTypes({ @JsonSubTypes.Type(value = AssistantWebBrowserToolBlock.class, name = "web_browser"), + @JsonSubTypes.Type(value = AssistantRetrievalToolBlock.class, name = "retrieval"), + @JsonSubTypes.Type(value = AssistantFunctionToolBlock.class, name = "function"), + @JsonSubTypes.Type(value = AssistantCodeInterpreterToolBlock.class, name = "code_interpreter"), + @JsonSubTypes.Type(value = AssistantDrawingToolBlock.class, name = "drawing_tool") }) +public abstract class AssistantToolsType { + +} diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/ToolsType.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/ToolsType.java deleted file mode 100644 index 3e5db96..0000000 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/ToolsType.java +++ /dev/null @@ -1,21 +0,0 @@ -package ai.z.openapi.service.assistant.message.tools; - -import ai.z.openapi.service.assistant.message.tools.code_interpreter.CodeInterpreterToolBlock; -import com.fasterxml.jackson.annotation.JsonInclude; -import com.fasterxml.jackson.annotation.JsonSubTypes; -import com.fasterxml.jackson.annotation.JsonTypeInfo; -import ai.z.openapi.service.assistant.message.tools.drawing_tool.DrawingToolBlock; -import ai.z.openapi.service.assistant.message.tools.function.FunctionToolBlock; -import ai.z.openapi.service.assistant.message.tools.retrieval.RetrievalToolBlock; -import ai.z.openapi.service.assistant.message.tools.web_browser.WebBrowserToolBlock; - -@JsonInclude(JsonInclude.Include.NON_NULL) -@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type", include = JsonTypeInfo.As.EXISTING_PROPERTY) -@JsonSubTypes({ @JsonSubTypes.Type(value = WebBrowserToolBlock.class, name = "web_browser"), - @JsonSubTypes.Type(value = RetrievalToolBlock.class, name = "retrieval"), - @JsonSubTypes.Type(value = FunctionToolBlock.class, name = "function"), - @JsonSubTypes.Type(value = CodeInterpreterToolBlock.class, name = "code_interpreter"), - @JsonSubTypes.Type(value = DrawingToolBlock.class, name = "drawing_tool") }) -public abstract class ToolsType { - -} diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/CodeInterpreter.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/AssistantCodeInterpreter.java similarity index 85% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/CodeInterpreter.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/AssistantCodeInterpreter.java index acc94b3..4c5cf68 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/CodeInterpreter.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/AssistantCodeInterpreter.java @@ -2,7 +2,6 @@ package ai.z.openapi.service.assistant.message.tools.code_interpreter; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; -import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; @@ -14,7 +13,7 @@ import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor -public class CodeInterpreter { +public class AssistantCodeInterpreter { /** * The generated code snippet that is input to the code sandbox. @@ -26,6 +25,6 @@ public class CodeInterpreter { * The output results after the code execution. */ @JsonProperty("outputs") - private List outputs; + private List outputs; } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/CodeInterpreterToolBlock.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/AssistantCodeInterpreterToolBlock.java similarity index 80% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/CodeInterpreterToolBlock.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/AssistantCodeInterpreterToolBlock.java index 724a69c..a223fa4 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/CodeInterpreterToolBlock.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/AssistantCodeInterpreterToolBlock.java @@ -1,7 +1,7 @@ package ai.z.openapi.service.assistant.message.tools.code_interpreter; import com.fasterxml.jackson.annotation.JsonProperty; -import ai.z.openapi.service.assistant.message.tools.ToolsType; +import ai.z.openapi.service.assistant.message.tools.AssistantToolsType; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -16,7 +16,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor -public class CodeInterpreterToolBlock extends ToolsType { +public class AssistantCodeInterpreterToolBlock extends AssistantToolsType { /** * The index of the tool call. @@ -34,7 +34,7 @@ public class CodeInterpreterToolBlock extends ToolsType { * The code interpreter object. */ @JsonProperty("code_interpreter") - private CodeInterpreter codeInterpreter; + private AssistantCodeInterpreter codeInterpreter; /** * The type of tool being called, always "code_interpreter". diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/CodeInterpreterToolOutput.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/AssistantCodeInterpreterToolOutput.java similarity index 92% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/CodeInterpreterToolOutput.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/AssistantCodeInterpreterToolOutput.java index 76f232d..c07888e 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/CodeInterpreterToolOutput.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/code_interpreter/AssistantCodeInterpreterToolOutput.java @@ -11,7 +11,7 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor -public class CodeInterpreterToolOutput { +public class AssistantCodeInterpreterToolOutput { /** * The type of output, currently only "logs". diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/DrawingTool.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/AssistantDrawingTool.java similarity index 86% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/DrawingTool.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/AssistantDrawingTool.java index ced6b7b..14bd9d9 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/DrawingTool.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/AssistantDrawingTool.java @@ -13,7 +13,7 @@ import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor -public class DrawingTool { +public class AssistantDrawingTool { /** * The input string that was used to generate the drawing. @@ -25,6 +25,6 @@ public class DrawingTool { * A list of outputs generated by the drawing tool. */ @JsonProperty("outputs") - private List outputs; + private List outputs; } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/DrawingToolBlock.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/AssistantDrawingToolBlock.java similarity index 82% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/DrawingToolBlock.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/AssistantDrawingToolBlock.java index 0023efe..67c4847 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/DrawingToolBlock.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/AssistantDrawingToolBlock.java @@ -1,7 +1,7 @@ package ai.z.openapi.service.assistant.message.tools.drawing_tool; import com.fasterxml.jackson.annotation.JsonProperty; -import ai.z.openapi.service.assistant.message.tools.ToolsType; +import ai.z.openapi.service.assistant.message.tools.AssistantToolsType; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -16,7 +16,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor -public class DrawingToolBlock extends ToolsType { +public class AssistantDrawingToolBlock extends AssistantToolsType { /** * The index of the tool call. @@ -34,7 +34,7 @@ public class DrawingToolBlock extends ToolsType { * The drawing tool object that contains input and outputs. */ @JsonProperty("drawing_tool") - private DrawingTool drawingTool; + private AssistantDrawingTool drawingTool; /** * The type of tool being called, always "drawing_tool". diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/DrawingToolOutput.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/AssistantDrawingToolOutput.java similarity index 91% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/DrawingToolOutput.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/AssistantDrawingToolOutput.java index b5b0640..a916dc3 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/DrawingToolOutput.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/drawing_tool/AssistantDrawingToolOutput.java @@ -11,7 +11,7 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor -public class DrawingToolOutput { +public class AssistantDrawingToolOutput { /** * The generated image in a string format. diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/FunctionTool.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/AssistantFunctionTool.java similarity index 89% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/FunctionTool.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/AssistantFunctionTool.java index d98270b..bc6afd5 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/FunctionTool.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/AssistantFunctionTool.java @@ -14,7 +14,7 @@ import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor -public class FunctionTool { +public class AssistantFunctionTool { /** * The name of the function tool. @@ -32,6 +32,6 @@ public class FunctionTool { * A list of outputs generated by the function tool. */ @JsonProperty("outputs") - private List outputs; + private List outputs; } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/FunctionToolBlock.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/AssistantFunctionToolBlock.java similarity index 82% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/FunctionToolBlock.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/AssistantFunctionToolBlock.java index 921b9bd..5bcd70b 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/FunctionToolBlock.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/AssistantFunctionToolBlock.java @@ -1,7 +1,7 @@ package ai.z.openapi.service.assistant.message.tools.function; import com.fasterxml.jackson.annotation.JsonProperty; -import ai.z.openapi.service.assistant.message.tools.ToolsType; +import ai.z.openapi.service.assistant.message.tools.AssistantToolsType; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -16,7 +16,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor -public class FunctionToolBlock extends ToolsType { +public class AssistantFunctionToolBlock extends AssistantToolsType { /** * The index of the tool call. @@ -34,7 +34,7 @@ public class FunctionToolBlock extends ToolsType { * The function tool object that contains the name, arguments, and outputs. */ @JsonProperty("function") - private FunctionTool function; + private AssistantFunctionTool function; /** * The type of tool being called, always "function". diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/FunctionToolOutput.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/AssistantFunctionToolOutput.java similarity index 91% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/FunctionToolOutput.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/AssistantFunctionToolOutput.java index 0e28d06..961f71e 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/FunctionToolOutput.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/function/AssistantFunctionToolOutput.java @@ -11,7 +11,7 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor -public class FunctionToolOutput { +public class AssistantFunctionToolOutput { /** * The generated content as a string. diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/RetrievalTool.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/AssistantRetrievalTool.java similarity index 85% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/RetrievalTool.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/AssistantRetrievalTool.java index e6089dd..b7efc17 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/RetrievalTool.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/AssistantRetrievalTool.java @@ -15,13 +15,13 @@ import java.util.List; @AllArgsConstructor @NoArgsConstructor @Builder -public class RetrievalTool { +public class AssistantRetrievalTool { /** * A list of text snippets and their respective document names retrieved from the * knowledge base. */ @JsonProperty("outputs") - private List outputs; + private List outputs; } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/RetrievalToolBlock.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/AssistantRetrievalToolBlock.java similarity index 81% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/RetrievalToolBlock.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/AssistantRetrievalToolBlock.java index 9ea469b..2de324b 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/RetrievalToolBlock.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/AssistantRetrievalToolBlock.java @@ -1,6 +1,6 @@ package ai.z.openapi.service.assistant.message.tools.retrieval; -import ai.z.openapi.service.assistant.message.tools.ToolsType; +import ai.z.openapi.service.assistant.message.tools.AssistantToolsType; import com.fasterxml.jackson.annotation.JsonProperty; import lombok.AllArgsConstructor; import lombok.Builder; @@ -13,7 +13,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor -public class RetrievalToolBlock extends ToolsType { +public class AssistantRetrievalToolBlock extends AssistantToolsType { /** * The index of the tool call. @@ -31,7 +31,7 @@ public class RetrievalToolBlock extends ToolsType { * An instance of the RetrievalTool class containing the retrieval outputs. */ @JsonProperty("retrieval") - private RetrievalTool retrieval; + private AssistantRetrievalTool retrieval; /** * The type of tool being used, always set to "retrieval". diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/RetrievalToolOutput.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/AssistantRetrievalToolOutput.java similarity index 93% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/RetrievalToolOutput.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/AssistantRetrievalToolOutput.java index 0bd2c73..ad9fc91 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/RetrievalToolOutput.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/retrieval/AssistantRetrievalToolOutput.java @@ -13,7 +13,7 @@ import lombok.NoArgsConstructor; @AllArgsConstructor @NoArgsConstructor @Builder -public class RetrievalToolOutput { +public class AssistantRetrievalToolOutput { /** * The text snippet retrieved from the knowledge base. diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/WebBrowser.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/AssistantWebBrowser.java similarity index 86% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/WebBrowser.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/AssistantWebBrowser.java index 18852f1..8d1856b 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/WebBrowser.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/AssistantWebBrowser.java @@ -13,7 +13,7 @@ import java.util.List; @Data @AllArgsConstructor @NoArgsConstructor -public class WebBrowser { +public class AssistantWebBrowser { /** * The input query for the web browser search. @@ -25,6 +25,6 @@ public class WebBrowser { * A list of search results returned by the web browser. */ @JsonProperty("outputs") - private List outputs; + private List outputs; } diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/WebBrowserOutput.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/AssistantWebBrowserOutput.java similarity index 95% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/WebBrowserOutput.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/AssistantWebBrowserOutput.java index dc2c321..ec87ef8 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/WebBrowserOutput.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/AssistantWebBrowserOutput.java @@ -11,7 +11,7 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor -public class WebBrowserOutput { +public class AssistantWebBrowserOutput { /** * The title of the search result. diff --git a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/WebBrowserToolBlock.java b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/AssistantWebBrowserToolBlock.java similarity index 82% rename from core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/WebBrowserToolBlock.java rename to core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/AssistantWebBrowserToolBlock.java index 6f562a6..3eb029b 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/WebBrowserToolBlock.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/message/tools/web_browser/AssistantWebBrowserToolBlock.java @@ -1,7 +1,7 @@ package ai.z.openapi.service.assistant.message.tools.web_browser; import com.fasterxml.jackson.annotation.JsonProperty; -import ai.z.openapi.service.assistant.message.tools.ToolsType; +import ai.z.openapi.service.assistant.message.tools.AssistantToolsType; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; @@ -16,7 +16,7 @@ import lombok.NoArgsConstructor; @Builder @AllArgsConstructor @NoArgsConstructor -public class WebBrowserToolBlock extends ToolsType { +public class AssistantWebBrowserToolBlock extends AssistantToolsType { /** * The index of the tool call. @@ -34,7 +34,7 @@ public class WebBrowserToolBlock extends ToolsType { * An instance of the WebBrowser class containing the search input and outputs. */ @JsonProperty("web_browser") - private WebBrowser webBrowser; + private AssistantWebBrowser webBrowser; /** * The type of tool being used, always set to "web_browser". diff --git a/core/src/main/java/ai/z/openapi/service/assistant/query_support/QuerySupportParams.java b/core/src/main/java/ai/z/openapi/service/assistant/query_support/AssistantQuerySupportParams.java similarity index 86% rename from core/src/main/java/ai/z/openapi/service/assistant/query_support/QuerySupportParams.java rename to core/src/main/java/ai/z/openapi/service/assistant/query_support/AssistantQuerySupportParams.java index 33fdd9c..059fd50 100644 --- a/core/src/main/java/ai/z/openapi/service/assistant/query_support/QuerySupportParams.java +++ b/core/src/main/java/ai/z/openapi/service/assistant/query_support/AssistantQuerySupportParams.java @@ -20,7 +20,7 @@ import java.util.List; @NoArgsConstructor @AllArgsConstructor @Data -public class QuerySupportParams extends CommonRequest implements ClientRequest { +public class AssistantQuerySupportParams extends CommonRequest implements ClientRequest { /** * List of assistant IDs to query support status for. diff --git a/core/src/main/java/ai/z/openapi/service/deserialize/assistant/message/MessageContentDeserializer.java b/core/src/main/java/ai/z/openapi/service/deserialize/assistant/message/AssistantMessageContentDeserializer.java similarity index 80% rename from core/src/main/java/ai/z/openapi/service/deserialize/assistant/message/MessageContentDeserializer.java rename to core/src/main/java/ai/z/openapi/service/deserialize/assistant/message/AssistantMessageContentDeserializer.java index f3076b2..2978c71 100644 --- a/core/src/main/java/ai/z/openapi/service/deserialize/assistant/message/MessageContentDeserializer.java +++ b/core/src/main/java/ai/z/openapi/service/deserialize/assistant/message/AssistantMessageContentDeserializer.java @@ -3,9 +3,9 @@ package ai.z.openapi.service.deserialize.assistant.message; import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.*; -import ai.z.openapi.service.assistant.message.MessageContent; -import ai.z.openapi.service.assistant.message.TextContentBlock; -import ai.z.openapi.service.assistant.message.tools.ToolsType; +import ai.z.openapi.service.assistant.message.AssistantMessageContent; +import ai.z.openapi.service.assistant.message.AssistantTextContentBlock; +import ai.z.openapi.service.assistant.message.tools.AssistantToolsType; import ai.z.openapi.service.deserialize.JsonTypeField; import ai.z.openapi.service.deserialize.JsonTypeMapping; @@ -14,14 +14,14 @@ import java.lang.reflect.Field; import java.lang.reflect.ParameterizedType; import java.util.List; -public class MessageContentDeserializer extends JsonDeserializer { +public class AssistantMessageContentDeserializer extends JsonDeserializer { @Override - public MessageContent deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { + public AssistantMessageContent deserialize(JsonParser p, DeserializationContext ctxt) throws IOException { JsonNode node = p.readValueAsTree(); // Get JsonTypeMapping annotation from MessageContent class - JsonTypeMapping mapping = MessageContent.class.getAnnotation(JsonTypeMapping.class); + JsonTypeMapping mapping = AssistantMessageContent.class.getAnnotation(JsonTypeMapping.class); if (mapping == null) { throw new IllegalStateException("Missing JsonTypeMapping annotation on MessageContent class"); } @@ -66,9 +66,10 @@ public class MessageContentDeserializer extends JsonDeserializer ParameterizedType listType = (ParameterizedType) field.getGenericType(); Class listGenericType = (Class) listType.getActualTypeArguments()[0]; - if (listGenericType.equals(ToolsType.class)) { + if (listGenericType.equals(AssistantToolsType.class)) { // Deserialize to List - List list = new ObjectMapper().readerForListOf(ToolsType.class) + List list = new ObjectMapper() + .readerForListOf(AssistantToolsType.class) .readValue(node.get(name)); field.set(obj, list); } @@ -84,7 +85,7 @@ public class MessageContentDeserializer extends JsonDeserializer } } - return (MessageContent) obj; + return (AssistantMessageContent) obj; } catch (Exception e) { throw new RuntimeException("Error while creating instance of " + clazz.getName(), e); @@ -94,10 +95,10 @@ public class MessageContentDeserializer extends JsonDeserializer // Create instance of the class try { - MessageContent obj = TextContentBlock.class.getDeclaredConstructor().newInstance(); + AssistantMessageContent obj = AssistantTextContentBlock.class.getDeclaredConstructor().newInstance(); // Use reflection to manually set field values - for (Field field : TextContentBlock.class.getDeclaredFields()) { + for (Field field : AssistantTextContentBlock.class.getDeclaredFields()) { field.setAccessible(true); // field.getName() gets the value from JsonProperty annotation above JsonProperty annotation = field.getAnnotation(JsonProperty.class); @@ -132,7 +133,8 @@ public class MessageContentDeserializer extends JsonDeserializer return obj; } catch (Exception e) { - throw new RuntimeException("Error while creating instance of " + TextContentBlock.class.getName(), e); + throw new RuntimeException("Error while creating instance of " + AssistantTextContentBlock.class.getName(), + e); } } diff --git a/core/src/test/java/ai/z/openapi/service/assistant/AssistantServiceTest.java b/core/src/test/java/ai/z/openapi/service/assistant/AssistantServiceTest.java index eaf8f71..7999b78 100644 --- a/core/src/test/java/ai/z/openapi/service/assistant/AssistantServiceTest.java +++ b/core/src/test/java/ai/z/openapi/service/assistant/AssistantServiceTest.java @@ -2,11 +2,11 @@ package ai.z.openapi.service.assistant; import ai.z.openapi.ZaiClient; import ai.z.openapi.core.config.ZaiConfig; -import ai.z.openapi.service.assistant.conversation.ConversationParameters; -import ai.z.openapi.service.assistant.conversation.ConversationUsageListResponse; -import ai.z.openapi.service.assistant.message.MessageContent; +import ai.z.openapi.service.assistant.conversation.AssistantConversationParameters; +import ai.z.openapi.service.assistant.conversation.AssistantConversationUsageListResponse; +import ai.z.openapi.service.assistant.message.AssistantMessageContent; import ai.z.openapi.service.assistant.query_support.AssistantSupportResponse; -import ai.z.openapi.service.assistant.query_support.QuerySupportParams; +import ai.z.openapi.service.assistant.query_support.AssistantQuerySupportParams; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; import org.junit.jupiter.api.BeforeEach; @@ -66,12 +66,12 @@ public class AssistantServiceTest { @EnabledIfEnvironmentVariable(named = "ZAI_API_KEY", matches = "^[^.]+\\.[^.]+$") void testStreamAssistantCompletion() throws JsonProcessingException { // Prepare test data - MessageTextContent textContent = MessageTextContent.builder() + AssistantMessageTextContent textContent = AssistantMessageTextContent.builder() .text("Help me search for the release time of ZAI's CogVideoX") .type("text") .build(); - ConversationMessage message = ConversationMessage.builder() + AssistantConversationMessage message = AssistantConversationMessage.builder() .role("user") .content(Collections.singletonList(textContent)) .build(); @@ -95,7 +95,7 @@ public class AssistantServiceTest { // Test stream data processing AtomicInteger messageCount = new AtomicInteger(0); AtomicBoolean isFirst = new AtomicBoolean(true); - List choices = new ArrayList<>(); + List choices = new ArrayList<>(); AtomicReference lastAccumulator = new AtomicReference<>(); response.getFlowable().doOnNext(accumulator -> { @@ -103,7 +103,7 @@ public class AssistantServiceTest { logger.info("Starting to receive stream response:"); } if (accumulator.getChoices() != null && !accumulator.getChoices().isEmpty()) { - MessageContent delta = accumulator.getChoices().get(0).getDelta(); + AssistantMessageContent delta = accumulator.getChoices().get(0).getDelta(); if (delta != null) { try { logger.info("MessageContent: {}", mapper.writeValueAsString(delta)); @@ -133,7 +133,7 @@ public class AssistantServiceTest { @EnabledIfEnvironmentVariable(named = "ZAI_API_KEY", matches = "^[^.]+\\.[^.]+$") void testQuerySupport() { // Prepare test data - QuerySupportParams request = QuerySupportParams.builder() + AssistantQuerySupportParams request = AssistantQuerySupportParams.builder() .assistantIdList(Collections.singletonList(TEST_ASSISTANT_ID)) .build(); @@ -150,14 +150,14 @@ public class AssistantServiceTest { @EnabledIfEnvironmentVariable(named = "ZAI_API_KEY", matches = "^[^.]+\\.[^.]+$") void testQueryConversationUsage() { // Prepare test data - ConversationParameters request = ConversationParameters.builder() + AssistantConversationParameters request = AssistantConversationParameters.builder() .assistantId(TEST_ASSISTANT_ID) .page(1) .pageSize(5) .build(); // Execute test - ConversationUsageListResponse response = assistantService.queryConversationUsage(request); + AssistantConversationUsageListResponse response = assistantService.queryConversationUsage(request); // Verify results assertNotNull(response.getData(), "Response should not be null"); @@ -169,9 +169,12 @@ public class AssistantServiceTest { @EnabledIfEnvironmentVariable(named = "ZAI_API_KEY", matches = "^[^.]+\\.[^.]+$") void testErrorHandling_InvalidAssistantId() { // Test with invalid assistant ID - MessageTextContent textContent = MessageTextContent.builder().text("Hello").type("text").build(); + AssistantMessageTextContent textContent = AssistantMessageTextContent.builder() + .text("Hello") + .type("text") + .build(); - ConversationMessage message = ConversationMessage.builder() + AssistantConversationMessage message = AssistantConversationMessage.builder() .role("user") .content(Collections.singletonList(textContent)) .build(); @@ -193,32 +196,36 @@ public class AssistantServiceTest { @DisplayName("Test Multi-turn Conversation") @EnabledIfEnvironmentVariable(named = "ZAI_API_KEY", matches = "^[^.]+\\.[^.]+$") void testMultiTurnConversation() throws JsonProcessingException { - List messages = new ArrayList<>(); + List messages = new ArrayList<>(); // First round of conversation - MessageTextContent firstContent = MessageTextContent.builder() + AssistantMessageTextContent firstContent = AssistantMessageTextContent.builder() .text("Hello, I would like to learn about machine learning") .type("text") .build(); - messages - .add(ConversationMessage.builder().role("user").content(Collections.singletonList(firstContent)).build()); + messages.add(AssistantConversationMessage.builder() + .role("user") + .content(Collections.singletonList(firstContent)) + .build()); - MessageTextContent assistantContent = MessageTextContent.builder() + AssistantMessageTextContent assistantContent = AssistantMessageTextContent.builder() .text("Hello! Machine learning is an important branch of artificial intelligence...") .type("text") .build(); - messages.add(ConversationMessage.builder() + messages.add(AssistantConversationMessage.builder() .role("assistant") .content(Collections.singletonList(assistantContent)) .build()); // Second round of conversation - MessageTextContent secondContent = MessageTextContent.builder() + AssistantMessageTextContent secondContent = AssistantMessageTextContent.builder() .text("Can you introduce supervised learning in detail?") .type("text") .build(); - messages - .add(ConversationMessage.builder().role("user").content(Collections.singletonList(secondContent)).build()); + messages.add(AssistantConversationMessage.builder() + .role("user") + .content(Collections.singletonList(secondContent)) + .build()); String requestId = String.format(REQUEST_ID_TEMPLATE, System.currentTimeMillis()); @@ -232,7 +239,7 @@ public class AssistantServiceTest { AssistantApiResponse response = assistantService.assistantCompletionStream(request); response.getFlowable().doOnNext(accumulator -> { if (accumulator.getChoices() != null && !accumulator.getChoices().isEmpty()) { - MessageContent delta = accumulator.getChoices().get(0).getDelta(); + AssistantMessageContent delta = accumulator.getChoices().get(0).getDelta(); if (delta != null) { try { logger.info("MessageContent: {}", mapper.writeValueAsString(delta));