1+ #include " rac/core/rac_error_model.h"
2+ #include " rac/core/rac_error.h"
3+
4+ #include < string.h>
5+
6+ // ------------------------------------------------------------
7+ // Internal Helper: Determine Category from Error Code Range
8+ // ------------------------------------------------------------
9+ const char * rac_error_category (rac_result_t code) {
10+ if (code >= -109 && code <= -100 ) return " Initialization" ;
11+ if (code >= -129 && code <= -110 ) return " Model" ;
12+ if (code >= -149 && code <= -130 ) return " Generation" ;
13+ if (code >= -179 && code <= -150 ) return " Network" ;
14+ if (code >= -219 && code <= -180 ) return " Storage" ;
15+ if (code >= -229 && code <= -220 ) return " Hardware" ;
16+ if (code >= -249 && code <= -230 ) return " ComponentState" ;
17+ if (code >= -279 && code <= -250 ) return " Validation" ;
18+ if (code >= -299 && code <= -280 ) return " Audio" ;
19+ if (code >= -319 && code <= -300 ) return " LanguageVoice" ;
20+ if (code >= -329 && code <= -320 ) return " Authentication" ;
21+ if (code >= -349 && code <= -330 ) return " Security" ;
22+ if (code >= -369 && code <= -350 ) return " Extraction" ;
23+ if (code >= -379 && code <= -370 ) return " Calibration" ;
24+ if (code >= -389 && code <= -380 ) return " Cancellation" ;
25+ if (code >= -499 && code <= -400 ) return " ModuleService" ;
26+ if (code >= -599 && code <= -500 ) return " PlatformAdapter" ;
27+ if (code >= -699 && code <= -600 ) return " Backend" ;
28+ if (code >= -799 && code <= -700 ) return " Event" ;
29+ if (code >= -899 && code <= -800 ) return " Other" ;
30+
31+ if (code == RAC_SUCCESS) return " Success" ;
32+
33+ return " Unknown" ;
34+ }
35+
36+ // ------------------------------------------------------------
37+ // Public API: Create Structured Error Model
38+ // ------------------------------------------------------------
39+ rac_error_model_t rac_make_error_model (rac_result_t code) {
40+ rac_error_model_t model;
41+ model.code = code;
42+ model.message = rac_error_message (code);
43+ model.category = rac_error_category (code);
44+ return model;
45+ }
0 commit comments