ToolUseMessage.fromJsonSSE constructor
ToolUseMessage.fromJsonSSE(
- Map<String, dynamic> json
)
Implementation
factory ToolUseMessage.fromJsonSSE(Map<String, dynamic> json) {
ToolUseType type = ToolUseService.getToolUseTypeEnum(json["type"] ?? "",
nativeToolType: json["typeDetails"]?["nativeTool"]?["id"]);
bool isPipeline = type == ToolUseType.pipeline;
bool isRemoteCall = type == ToolUseType.remoteCall;
bool isTodoList = type == ToolUseType.nativeToolsToDoList;
bool isWebSearch = type == ToolUseType.nativeToolsWebSearch;
bool isKnowledgeBase = type == ToolUseType.nativeToolsKnowledgeBase;
bool isDocument = type == ToolUseType.nativeToolsDocument;
bool isSMTP = type == ToolUseType.nativeToolsSMTP;
bool isImageGeneration = type == ToolUseType.nativeToolsImageGeneration;
bool isBrowserUse = type == ToolUseType.nativeToolsBrowserUse;
bool isAskUser = type == ToolUseType.nativeToolsAskUser;
bool isWebReader = type == ToolUseType.nativeToolsWebReader;
Map<String, dynamic> data = ToolUseMessage.getMessage(json, true);
return ToolUseMessage(
id: json["id"] ?? "",
assistantName: json["assistantName"] ?? "",
imageUuid: json["imageUuid"],
chatBotId: json["chatBotId"],
marketPlaceId: json["marketPlaceId"],
type: type,
toolName: json["typeDetails"]?["toolName"] ?? "",
queryGroupId: json["queryGroupId"] ?? "",
showTool: json["typeDetails"]?["showTool"] ?? true,
toolMessage: json["typeDetails"]?["toolMessage"] ?? "",
nativeToolData: ToolUseService.isNativeTool(type)
? getNativeToolData(json, true)
: null,
pipelineData: isPipeline ? ToolUsePipelineData.fromJson(data) : null,
remoteCallData: isRemoteCall ? data : null,
toDoListData: isTodoList ? ToolUseToDoListData.fromJson(data, json["typeDetails"]) : null,
webSearchData: isWebSearch ? ToolUseWebSearchData.fromJson(data) : null,
knowledgeBaseData:
isKnowledgeBase ? ToolUseKnowledgeBaseData.fromJson(data) : null,
documentData: isDocument
? ToolUseDocumentData.fromJson(data, json["typeDetails"])
: null,
smtpData: isSMTP ? ToolUseSMTPData.fromJson(data) : null,
imageGenerationData:
isImageGeneration ? ToolUseImageGenerationData.fromJson(data) : null,
browserUseData: isBrowserUse
? ToolUseBrowserUseData.fromJson(data, json["typeDetails"])
: null,
askUserData:
isAskUser ? ToolUseAskUserData.fromJson(json["typeDetails"]) : null,
webReaderData: isWebReader ? ToolUseWebReaderData.fromJson(data) : null,
);
}