1 /* 2 * Copyright (c) 2025 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 #ifndef AIP_NAPI_ERROR_H 17 #define AIP_NAPI_ERROR_H 18 19 #include <map> 20 #include <optional> 21 22 #include "napi/native_api.h" 23 #include "napi/native_node_api.h" 24 25 namespace OHOS { 26 namespace DataIntelligence { 27 enum NativeErrCode : int32_t { 28 NATIVE_DATABASE_INVALID_FILE_PATH = 27394059, 29 NATIVE_DATABASE_ALREADY_CLOSED = 27394078, 30 NATIVE_DATABASE_IS_BUSY = 27394082, 31 NATIVE_DATABASE_WAL_FILE_EXCEEDS_LIMIT = 27394095, 32 NATIVE_DATABASE_GENERIC_ERROR = 27394103, 33 NATIVE_DATABASE_CORRUPTED = 27394104, 34 NATIVE_DATABASE_PERMISSION_DENIED = 27394107, 35 NATIVE_DATABASE_FILE_IS_LOCKED = 27394109, 36 NATIVE_DATABASE_OUT_OF_MEMORY = 27394110, 37 NATIVE_DATABASE_IO_ERROR = 27394112, 38 39 NATIVE_E_RECALL_FAILURE = 28114948, 40 NATIVE_E_RERANK_FAILURE, 41 NATIVE_E_INVALID_NUMBER, 42 NATIVE_E_INVALID_PRIMARY_KEY, 43 NATIVE_E_UNSUPPORTED_COMPOSITE_PRIMARY_KEY, 44 NATIVE_E_EMPTY_STRING_FIELD, 45 NATIVE_E_INVALID_FILTER_INPUT, 46 NATIVE_E_INVALID_RECALL_FIELD, 47 NATIVE_E_HIGH_VECTOR_SIMILARITY_THRESHOLD, 48 NATIVE_E_RERANK_METHOD_MISMATCH, 49 NATIVE_E_EMPTY_PARAMETER, 50 51 NATIVE_SUMMARY_E_INVALID_PARAMETERS = 28114959, 52 NATIVE_SUMMARY_E_INVALID_RESULT, 53 NATIVE_SUMMARY_E_INVALID_OUTPUT, 54 55 NATIVE_RAGSESSION_CONSTRUCT_FAULT, 56 NATIVE_RAGSESSION_STREAMRUN_FAULT, 57 58 NATIVE_RAG_E_CONFIG_ERROR, 59 NATIVE_RAG_E_INSTANCE_EXIST, 60 NATIVE_RAG_E_INVALID_INPUT, 61 NATIVE_RAG_E_QUERY_LENGTH_EXCEED, 62 NATIVE_RAG_E_STREAM_BUSY, 63 NATIVE_RAG_E_INSTANCE_NOT_EXIST, 64 NATIVE_RAG_E_PROMPT_ERROR, 65 NATIVE_RAG_E_LLM_ERROR, 66 NATIVE_RAG_E_LLM_OCCUPIED, 67 NATIVE_RAG_E_LLM_LOAD_FAILED, 68 NATIVE_RAG_E_LLM_TIMEOUT, 69 NATIVE_RAG_E_LLM_OUTPUT_INVALID, 70 NATIVE_RAG_E_RETRIEVER_TIMEOUT, 71 72 NATIVE_LLM_E_PARSER_JSON_PARSE, 73 NATIVE_LLM_E_PARSER_JSON_MEMBER, 74 NATIVE_LLM_E_REQUEST_MALLOC, 75 NATIVE_PROMPT_E_PLACEHOLDER_JSON_PARSE, 76 NATIVE_PROMPT_E_CHAT_TEMP_JSON_TYPE, 77 NATIVE_PROMPT_E_CHAT_TEMP_EMPTY_MSG, 78 NATIVE_PROMPT_E_CHAT_TEMP_UPDATE_SYS, 79 }; 80 81 enum TsErrCode : int32_t { 82 PARAM_EXCEPTION = 401, 83 DEVICE_EXCEPTION = 801, 84 INNER_ERROR = 31300000, 85 DATABASE_CORRUPTED = 31300001, 86 DATABASE_ALREADY_CLOSED = 31300002, 87 DATABASE_IS_BUSY = 31300003, 88 DATABASE_OUT_OF_MEMORY = 31300004, 89 DATABASE_GENERIC_ERROR = 31300100, 90 DATABASE_PERMISSION_DENIED = 31300101, 91 DATABASE_FILE_IS_LOCKED = 31300102, 92 DATABASE_IO_ERROR = 31300103, 93 DATABASE_WAL_FILE_EXCEEDS_LIMIT = 31300104, 94 DATABASE_INVALID_FILE_PATH = 31300105, 95 RETRIEVAL_E_RECALL_FAILURE = 31301000, 96 RETRIEVAL_E_RERANK_FAILURE = 31301001, 97 RETRIEVAL_E_INVALID_NUMBER = 31301002, 98 RETRIEVAL_E_INVALID_PRIMARY_KEY = 31301003, 99 RETRIEVAL_E_UNSUPPORTED_COMPOSITE_PRIMARY_KEY = 31301004, 100 RETRIEVAL_E_EMPTY_STRING_FIELD = 31301005, 101 RETRIEVAL_E_INVALID_FILTER_INPUT = 31301006, 102 RETRIEVAL_E_INVALID_RECALL_FIELD = 31301007, 103 RETRIEVAL_E_HIGH_VECTOR_SIMILARITY_THRESHOLD = 31301008, 104 RETRIEVAL_E_RERANK_METHOD_MISMATCH = 31301009, 105 RETRIEVAL_E_EMPTY_PARAMETER = 31301010, 106 RAG_E_RAG_COMMON_ERROR = 32800000, 107 RAG_E_LLM_TIMEOUT = 32800001, 108 RAG_E_LLM_LOAD_FAILED = 32800002, 109 RAG_E_LLM_REQUEST_FAILED = 32800003, 110 RAG_E_LLM_BUSY = 32800004, 111 RAG_E_LLM_OUTPUT_INVALID = 32800005, 112 RAG_E_RAG_ALREADY_EXISTS = 32800006, 113 RAG_E_RAG_BUSY = 32800007, 114 RAG_E_RAG_ALREADY_CLOSED = 32800008, 115 RAG_E_RAG_USER_CANCEL = 32800009, 116 RAG_E_RAG_TIMEOUT = 32800010, 117 RAG_E_RAG_PARAM_ERROR = 32800011, 118 }; 119 120 int32_t ConvertErrCodeNative2Ts(int32_t nativeErrCode); 121 napi_value CreateIntelligenceError(const napi_env &env, int32_t errorCode, const std::string &errorMsg); 122 std::optional<std::string> GetIntelligenceErrMsg(int32_t errorCode); 123 void ThrowIntelligenceErr(const napi_env &env, int32_t errorCode, const std::string &printMsg); 124 void ThrowIntelligenceErrByPromise(const napi_env &env, int32_t errorCode, const std::string &printMsg, 125 napi_value &value); 126 } // namespace DataIntelligence 127 } // namespae OHOS 128 #endif // AIP_NAPI_ERROR_H