• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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