devin15/cursor2api-rust
0
1use super::model::Model;2 3macro_rules! def_pub_const {4 ($name:ident, $value:expr) => {5 pub const $name: &'static str = $value;6 };7}8def_pub_const!(ERR_UNSUPPORTED_GIF, "不支持动态 GIF");9def_pub_const!(ERR_UNSUPPORTED_IMAGE_FORMAT, "不支持的图片格式,仅支持 PNG、JPEG、WEBP 和非动态 GIF");10def_pub_const!(ERR_NODATA, "No data");11 12const MODEL_OBJECT: &str = "model";13const CREATED: &i64 = &1706659200;14 15def_pub_const!(ANTHROPIC, "anthropic");16def_pub_const!(CURSOR, "cursor");17def_pub_const!(GOOGLE, "google");18def_pub_const!(OPENAI, "openai");19 20def_pub_const!(CLAUDE_3_5_SONNET, "claude-3.5-sonnet");21def_pub_const!(GPT_4, "gpt-4");22def_pub_const!(GPT_4O, "gpt-4o");23def_pub_const!(CLAUDE_3_OPUS, "claude-3-opus");24def_pub_const!(CURSOR_FAST, "cursor-fast");25def_pub_const!(CURSOR_SMALL, "cursor-small");26def_pub_const!(GPT_3_5_TURBO, "gpt-3.5-turbo");27def_pub_const!(GPT_4_TURBO_2024_04_09, "gpt-4-turbo-2024-04-09");28def_pub_const!(GPT_4O_128K, "gpt-4o-128k");29def_pub_const!(GEMINI_1_5_FLASH_500K, "gemini-1.5-flash-500k");30def_pub_const!(CLAUDE_3_HAIKU_200K, "claude-3-haiku-200k");31def_pub_const!(CLAUDE_3_5_SONNET_200K, "claude-3-5-sonnet-200k");32def_pub_const!(CLAUDE_3_5_SONNET_20241022, "claude-3-5-sonnet-20241022");33def_pub_const!(GPT_4O_MINI, "gpt-4o-mini");34def_pub_const!(O1_MINI, "o1-mini");35def_pub_const!(O1_PREVIEW, "o1-preview");36def_pub_const!(O1, "o1");37def_pub_const!(CLAUDE_3_5_HAIKU, "claude-3.5-haiku");38def_pub_const!(GEMINI_EXP_1206, "gemini-exp-1206");39def_pub_const!(40 GEMINI_2_0_FLASH_THINKING_EXP,41 "gemini-2.0-flash-thinking-exp"42);43def_pub_const!(GEMINI_2_0_FLASH_EXP, "gemini-2.0-flash-exp");44 45pub const AVAILABLE_MODELS: [Model; 21] = [46 Model {47 id: CLAUDE_3_5_SONNET,48 created: CREATED,49 object: MODEL_OBJECT,50 owned_by: ANTHROPIC,51 },52 Model {53 id: GPT_4,54 created: CREATED,55 object: MODEL_OBJECT,56 owned_by: OPENAI,57 },58 Model {59 id: GPT_4O,60 created: CREATED,61 object: MODEL_OBJECT,62 owned_by: OPENAI,63 },64 Model {65 id: CLAUDE_3_OPUS,66 created: CREATED,67 object: MODEL_OBJECT,68 owned_by: ANTHROPIC,69 },70 Model {71 id: CURSOR_FAST,72 created: CREATED,73 object: MODEL_OBJECT,74 owned_by: CURSOR,75 },76 Model {77 id: CURSOR_SMALL,78 created: CREATED,79 object: MODEL_OBJECT,80 owned_by: CURSOR,81 },82 Model {83 id: GPT_3_5_TURBO,84 created: CREATED,85 object: MODEL_OBJECT,86 owned_by: OPENAI,87 },88 Model {89 id: GPT_4_TURBO_2024_04_09,90 created: CREATED,91 object: MODEL_OBJECT,92 owned_by: OPENAI,93 },94 Model {95 id: GPT_4O_128K,96 created: CREATED,97 object: MODEL_OBJECT,98 owned_by: OPENAI,99 },100 Model {101 id: GEMINI_1_5_FLASH_500K,102 created: CREATED,103 object: MODEL_OBJECT,104 owned_by: GOOGLE,105 },106 Model {107 id: CLAUDE_3_HAIKU_200K,108 created: CREATED,109 object: MODEL_OBJECT,110 owned_by: ANTHROPIC,111 },112 Model {113 id: CLAUDE_3_5_SONNET_200K,114 created: CREATED,115 object: MODEL_OBJECT,116 owned_by: ANTHROPIC,117 },118 Model {119 id: CLAUDE_3_5_SONNET_20241022,120 created: CREATED,121 object: MODEL_OBJECT,122 owned_by: ANTHROPIC,123 },124 Model {125 id: GPT_4O_MINI,126 created: CREATED,127 object: MODEL_OBJECT,128 owned_by: OPENAI,129 },130 Model {131 id: O1_MINI,132 created: CREATED,133 object: MODEL_OBJECT,134 owned_by: OPENAI,135 },136 Model {137 id: O1_PREVIEW,138 created: CREATED,139 object: MODEL_OBJECT,140 owned_by: OPENAI,141 },142 Model {143 id: O1,144 created: CREATED,145 object: MODEL_OBJECT,146 owned_by: OPENAI,147 },148 Model {149 id: CLAUDE_3_5_HAIKU,150 created: CREATED,151 object: MODEL_OBJECT,152 owned_by: ANTHROPIC,153 },154 Model {155 id: GEMINI_EXP_1206,156 created: CREATED,157 object: MODEL_OBJECT,158 owned_by: GOOGLE,159 },160 Model {161 id: GEMINI_2_0_FLASH_THINKING_EXP,162 created: CREATED,163 object: MODEL_OBJECT,164 owned_by: GOOGLE,165 },166 Model {167 id: GEMINI_2_0_FLASH_EXP,168 created: CREATED,169 object: MODEL_OBJECT,170 owned_by: GOOGLE,171 },172];173 174pub const USAGE_CHECK_MODELS: [&str; 11] = [175 CLAUDE_3_5_SONNET_20241022,176 CLAUDE_3_5_SONNET,177 GEMINI_EXP_1206,178 GPT_4,179 GPT_4_TURBO_2024_04_09,180 GPT_4O,181 CLAUDE_3_5_HAIKU,182 GPT_4O_128K,183 GEMINI_1_5_FLASH_500K,184 CLAUDE_3_HAIKU_200K,185 CLAUDE_3_5_SONNET_200K,186];187 188pub const LONG_CONTEXT_MODELS: [&str; 4] = [189 GPT_4O_128K,190 GEMINI_1_5_FLASH_500K,191 CLAUDE_3_HAIKU_200K,192 CLAUDE_3_5_SONNET_200K,193];194 