added more files
This commit is contained in:
@@ -0,0 +1 @@
|
||||
49b18119c937be15
|
||||
@@ -0,0 +1 @@
|
||||
{"rustc":14586432835443788270,"features":"[]","declared_features":"[]","target":3394325431257476681,"profile":8731458305071235362,"path":4942398508502643691,"deps":[[2319277233142919835,"tiktoken_rs",false,10767436418568866936],[2737927996754702673,"jsonwebtoken",false,9489210547399145947],[3130514091054305152,"async_openai",false,2887259848235492587],[3405707034081185165,"dotenvy",false,13371904379016080493],[3632162862999675140,"tower",false,3618546106266458124],[3722963349756955755,"once_cell",false,13529324585400872812],[3856126590694406759,"chrono",false,139817214376196621],[4093251733041599906,"futures",false,11228082978658896564],[5488147963494030863,"metrics",false,13328934311426033894],[6841140121864026414,"sqlx",false,11794386268911497457],[7435852374066785895,"headers",false,16115982914560014674],[8008191657135824715,"thiserror",false,16758149858704292892],[8434721349366383850,"tower_http",false,7534207790210633631],[8889446427035620327,"axum",false,6772002031618994432],[9003640688407653319,"metrics_exporter_prometheus",false,1920691832464607563],[9462185088798423431,"uuid",false,3330429977738457208],[10229185211513642314,"mime",false,6190527205000105461],[10681258086952200236,"image",false,10264738558515431920],[10860055607580715693,"imageproc",false,11436621076545461994],[12041186341109472307,"tracing_subscriber",false,14715355644666553246],[12478428894219133322,"anyhow",false,3181225884889239189],[12757619235593077227,"multer",false,10570634642513734430],[12891030758458664808,"tokio",false,18087742323021266306],[12990715118587487078,"governor",false,4509097822283754433],[13548984313718623784,"serde",false,12928119631707895161],[13795362694956882968,"serde_json",false,3565688686530177319],[13868162447496986366,"axum_extra",false,14217358588418651446],[14757622794040968908,"tracing",false,13161835918399200049],[14818253172467760024,"tracing_appender",false,861337679260995235],[15609422047640926750,"toml",false,13801422625738826081],[16611674984963787466,"async_trait",false,16808264317542229656],[17038106176255014628,"sqlx_sqlite",false,12967439083356412715],[17109794424245468765,"regex",false,2207363435804597957],[17325453097244291330,"reqwest",false,226122060409791534],[18066890886671768183,"base64",false,11035926898205338246],[18071510856783138481,"mime_guess",false,17225475171784263912],[18150860780478849731,"config",false,3095526049138586182]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/llm-proxy-52a1544558d60b7a/dep-bin-llm-proxy","checksum":false}}],"rustflags":[],"config":2069994364910194474,"compile_kind":0}
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
This file has an mtime of when this was started.
|
||||
@@ -0,0 +1,29 @@
|
||||
{"$message_type":"diagnostic","message":"unused import: `FunctionCall`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/openai.rs","byte_start":434,"byte_end":446,"line_start":4,"line_end":4,"column_start":335,"column_end":347,"is_primary":true,"text":[{"text":"use async_openai::types::chat::{CreateChatCompletionRequestArgs, ChatCompletionRequestMessage, ChatCompletionRequestUserMessage, ChatCompletionRequestSystemMessage, ChatCompletionRequestAssistantMessage, ChatCompletionRequestUserMessageContent, ChatCompletionRequestSystemMessageContent, ChatCompletionRequestAssistantMessageContent, FunctionCall};","highlight_start":335,"highlight_end":347}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"src/providers/openai.rs","byte_start":432,"byte_end":446,"line_start":4,"line_end":4,"column_start":333,"column_end":347,"is_primary":true,"text":[{"text":"use async_openai::types::chat::{CreateChatCompletionRequestArgs, ChatCompletionRequestMessage, ChatCompletionRequestUserMessage, ChatCompletionRequestSystemMessage, ChatCompletionRequestAssistantMessage, ChatCompletionRequestUserMessageContent, ChatCompletionRequestSystemMessageContent, ChatCompletionRequestAssistantMessageContent, FunctionCall};","highlight_start":333,"highlight_end":347}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused import: `FunctionCall`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/openai.rs:4:335\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m4\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m...\u001b[0messageContent, ChatCompletionRequestAssistantMessageContent, FunctionCall};\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default\n\n"}
|
||||
{"$message_type":"diagnostic","message":"unused import: `serde_json::json`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/gemini.rs","byte_start":91,"byte_end":107,"line_start":4,"line_end":4,"column_start":5,"column_end":21,"is_primary":true,"text":[{"text":"use serde_json::json;","highlight_start":5,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/providers/gemini.rs","byte_start":87,"byte_end":109,"line_start":4,"line_end":5,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"use serde_json::json;","highlight_start":1,"highlight_end":22},{"text":"","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused import: `serde_json::json`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/gemini.rs:4:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m4\u001b[0m \u001b[1m\u001b[94m|\u001b[0m use serde_json::json;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"unused import: `FunctionCall`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/deepseek.rs","byte_start":434,"byte_end":446,"line_start":4,"line_end":4,"column_start":335,"column_end":347,"is_primary":true,"text":[{"text":"use async_openai::types::chat::{CreateChatCompletionRequestArgs, ChatCompletionRequestMessage, ChatCompletionRequestUserMessage, ChatCompletionRequestSystemMessage, ChatCompletionRequestAssistantMessage, ChatCompletionRequestUserMessageContent, ChatCompletionRequestSystemMessageContent, ChatCompletionRequestAssistantMessageContent, FunctionCall};","highlight_start":335,"highlight_end":347}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the unused import","code":null,"level":"help","spans":[{"file_name":"src/providers/deepseek.rs","byte_start":432,"byte_end":446,"line_start":4,"line_end":4,"column_start":333,"column_end":347,"is_primary":true,"text":[{"text":"use async_openai::types::chat::{CreateChatCompletionRequestArgs, ChatCompletionRequestMessage, ChatCompletionRequestUserMessage, ChatCompletionRequestSystemMessage, ChatCompletionRequestAssistantMessage, ChatCompletionRequestUserMessageContent, ChatCompletionRequestSystemMessageContent, ChatCompletionRequestAssistantMessageContent, FunctionCall};","highlight_start":333,"highlight_end":347}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused import: `FunctionCall`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/deepseek.rs:4:335\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m4\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m...\u001b[0messageContent, ChatCompletionRequestAssistantMessageContent, FunctionCall};\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/openai.rs","byte_start":3674,"byte_end":3693,"line_start":93,"line_end":93,"column_start":29,"column_end":48,"is_primary":true,"text":[{"text":" function_call: None,","highlight_start":29,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(deprecated)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/openai.rs:93:29\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m93\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m...\u001b[0m function_call: None,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `#[warn(deprecated)]` on by default\n\n"}
|
||||
{"$message_type":"diagnostic","message":"use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`","code":{"code":"deprecated","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/deepseek.rs","byte_start":3685,"byte_end":3704,"line_start":92,"line_end":92,"column_start":29,"column_end":48,"is_primary":true,"text":[{"text":" function_call: None,","highlight_start":29,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: use of deprecated field `async_openai::types::chat::ChatCompletionRequestAssistantMessage::function_call`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/deepseek.rs:92:29\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m92\u001b[0m \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m...\u001b[0m function_call: None,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"unused variable: `db_pool`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/main.rs","byte_start":692,"byte_end":699,"line_start":31,"line_end":31,"column_start":9,"column_end":16,"is_primary":true,"text":[{"text":" let db_pool = database::init(&config.database).await?;","highlight_start":9,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/main.rs","byte_start":692,"byte_end":699,"line_start":31,"line_end":31,"column_start":9,"column_end":16,"is_primary":true,"text":[{"text":" let db_pool = database::init(&config.database).await?;","highlight_start":9,"highlight_end":16}],"label":null,"suggested_replacement":"_db_pool","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `db_pool`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/main.rs:31:9\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m31\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let db_pool = database::init(&config.database).await?;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^\u001b[0m \u001b[1m\u001b[33mhelp: if this is intentional, prefix it with an underscore: `_db_pool`\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default\n\n"}
|
||||
{"$message_type":"diagnostic","message":"fields `model_mapping` and `pricing` are never read","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/config/mod.rs","byte_start":1930,"byte_end":1939,"line_start":81,"line_end":81,"column_start":12,"column_end":21,"is_primary":false,"text":[{"text":"pub struct AppConfig {","highlight_start":12,"highlight_end":21}],"label":"fields in this struct","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/config/mod.rs","byte_start":2049,"byte_end":2062,"line_start":85,"line_end":85,"column_start":9,"column_end":22,"is_primary":true,"text":[{"text":" pub model_mapping: ModelMappingConfig,","highlight_start":9,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/config/mod.rs","byte_start":2092,"byte_end":2099,"line_start":86,"line_end":86,"column_start":9,"column_end":16,"is_primary":true,"text":[{"text":" pub pricing: PricingConfig,","highlight_start":9,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`AppConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"`#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: fields `model_mapping` and `pricing` are never read\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/config/mod.rs:85:9\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m81\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct AppConfig {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m---------\u001b[0m \u001b[1m\u001b[94mfields in this struct\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m85\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub model_mapping: ModelMappingConfig,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[94m86\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub pricing: PricingConfig,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `AppConfig` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default\n\n"}
|
||||
{"$message_type":"diagnostic","message":"field `token` is never read","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/auth/mod.rs","byte_start":208,"byte_end":227,"line_start":8,"line_end":8,"column_start":12,"column_end":31,"is_primary":false,"text":[{"text":"pub struct AuthenticatedClient {","highlight_start":12,"highlight_end":31}],"label":"field in this struct","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/auth/mod.rs","byte_start":238,"byte_end":243,"line_start":9,"line_end":9,"column_start":9,"column_end":14,"is_primary":true,"text":[{"text":" pub token: String,","highlight_start":9,"highlight_end":14}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: field `token` is never read\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/auth/mod.rs:9:9\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m8\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct AuthenticatedClient {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-------------------\u001b[0m \u001b[1m\u001b[94mfield in this struct\u001b[0m\n\u001b[1m\u001b[94m9\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub token: String,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"function `validate_token` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/auth/mod.rs","byte_start":1394,"byte_end":1408,"line_start":42,"line_end":42,"column_start":8,"column_end":22,"is_primary":true,"text":[{"text":"pub fn validate_token(token: &str, valid_tokens: &[String]) -> bool {","highlight_start":8,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: function `validate_token` is never used\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/auth/mod.rs:42:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m42\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn validate_token(token: &str, valid_tokens: &[String]) -> bool {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"function `test_connection` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/database/mod.rs","byte_start":1806,"byte_end":1821,"line_start":72,"line_end":72,"column_start":14,"column_end":29,"is_primary":true,"text":[{"text":"pub async fn test_connection(pool: &DbPool) -> Result<()> {","highlight_start":14,"highlight_end":29}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: function `test_connection` is never used\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/database/mod.rs:72:14\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m72\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub async fn test_connection(pool: &DbPool) -> Result<()> {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"fields `stream` and `has_images` are never read","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/models/mod.rs","byte_start":1348,"byte_end":1362,"line_start":52,"line_end":52,"column_start":12,"column_end":26,"is_primary":false,"text":[{"text":"pub struct UnifiedRequest {","highlight_start":12,"highlight_end":26}],"label":"fields in this struct","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/models/mod.rs","byte_start":1529,"byte_end":1535,"line_start":58,"line_end":58,"column_start":9,"column_end":15,"is_primary":true,"text":[{"text":" pub stream: bool,","highlight_start":9,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/models/mod.rs","byte_start":1551,"byte_end":1561,"line_start":59,"line_end":59,"column_start":9,"column_end":19,"is_primary":true,"text":[{"text":" pub has_images: bool,","highlight_start":9,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`UnifiedRequest` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: fields `stream` and `has_images` are never read\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/models/mod.rs:58:9\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m52\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct UnifiedRequest {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------------\u001b[0m \u001b[1m\u001b[94mfields in this struct\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m58\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub stream: bool,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m\n\u001b[1m\u001b[94m59\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub has_images: bool,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `UnifiedRequest` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis\n\n"}
|
||||
{"$message_type":"diagnostic","message":"variant `Image` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/models/mod.rs","byte_start":1717,"byte_end":1728,"line_start":69,"line_end":69,"column_start":10,"column_end":21,"is_primary":false,"text":[{"text":"pub enum ContentPart {","highlight_start":10,"highlight_end":21}],"label":"variant in this enum","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/models/mod.rs","byte_start":1775,"byte_end":1780,"line_start":73,"line_end":73,"column_start":5,"column_end":10,"is_primary":true,"text":[{"text":" Image {","highlight_start":5,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`ContentPart` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: variant `Image` is never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/models/mod.rs:73:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m69\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub enum ContentPart {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-----------\u001b[0m \u001b[1m\u001b[94mvariant in this enum\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m73\u001b[0m \u001b[1m\u001b[94m|\u001b[0m Image {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `ContentPart` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis\n\n"}
|
||||
{"$message_type":"diagnostic","message":"variants `Base64`, `Url`, `CloudUri`, and `Multipart` are never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/models/mod.rs","byte_start":1905,"byte_end":1916,"line_start":81,"line_end":81,"column_start":10,"column_end":21,"is_primary":false,"text":[{"text":"pub enum ImageFormat {","highlight_start":10,"highlight_end":21}],"label":"variants in this enum","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/models/mod.rs","byte_start":1923,"byte_end":1929,"line_start":82,"line_end":82,"column_start":5,"column_end":11,"is_primary":true,"text":[{"text":" Base64,","highlight_start":5,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/models/mod.rs","byte_start":1935,"byte_end":1938,"line_start":83,"line_end":83,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":" Url(String),","highlight_start":5,"highlight_end":8}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/models/mod.rs","byte_start":1952,"byte_end":1960,"line_start":84,"line_end":84,"column_start":5,"column_end":13,"is_primary":true,"text":[{"text":" CloudUri(String),","highlight_start":5,"highlight_end":13}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/models/mod.rs","byte_start":1974,"byte_end":1983,"line_start":85,"line_end":85,"column_start":5,"column_end":14,"is_primary":true,"text":[{"text":" Multipart,","highlight_start":5,"highlight_end":14}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`ImageFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: variants `Base64`, `Url`, `CloudUri`, and `Multipart` are never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/models/mod.rs:82:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m81\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub enum ImageFormat {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m-----------\u001b[0m \u001b[1m\u001b[94mvariants in this enum\u001b[0m\n\u001b[1m\u001b[94m82\u001b[0m \u001b[1m\u001b[94m|\u001b[0m Base64,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m\n\u001b[1m\u001b[94m83\u001b[0m \u001b[1m\u001b[94m|\u001b[0m Url(String),\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^\u001b[0m\n\u001b[1m\u001b[94m84\u001b[0m \u001b[1m\u001b[94m|\u001b[0m CloudUri(String),\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\u001b[1m\u001b[94m85\u001b[0m \u001b[1m\u001b[94m|\u001b[0m Multipart,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `ImageFormat` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis\n\n"}
|
||||
{"$message_type":"diagnostic","message":"struct `OpenAIRequest` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/models/mod.rs","byte_start":2086,"byte_end":2099,"line_start":91,"line_end":91,"column_start":12,"column_end":25,"is_primary":true,"text":[{"text":"pub struct OpenAIRequest {","highlight_start":12,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: struct `OpenAIRequest` is never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/models/mod.rs:91:12\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m91\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct OpenAIRequest {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"struct `OpenAIMessage` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/models/mod.rs","byte_start":2309,"byte_end":2322,"line_start":100,"line_end":100,"column_start":12,"column_end":25,"is_primary":true,"text":[{"text":"pub struct OpenAIMessage {","highlight_start":12,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: struct `OpenAIMessage` is never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/models/mod.rs:100:12\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m100\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct OpenAIMessage {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"enum `OpenAIContentPart` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/models/mod.rs","byte_start":2485,"byte_end":2502,"line_start":107,"line_end":107,"column_start":10,"column_end":27,"is_primary":true,"text":[{"text":"pub enum OpenAIContentPart {","highlight_start":10,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: enum `OpenAIContentPart` is never used\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/models/mod.rs:107:10\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m107\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub enum OpenAIContentPart {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"struct `ImageUrl` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/models/mod.rs","byte_start":2619,"byte_end":2627,"line_start":113,"line_end":113,"column_start":12,"column_end":20,"is_primary":true,"text":[{"text":"pub struct ImageUrl {","highlight_start":12,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: struct `ImageUrl` is never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/models/mod.rs:113:12\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m113\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct ImageUrl {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"trait `ToOpenAI` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/models/mod.rs","byte_start":2794,"byte_end":2802,"line_start":121,"line_end":121,"column_start":11,"column_end":19,"is_primary":true,"text":[{"text":"pub trait ToOpenAI {","highlight_start":11,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: trait `ToOpenAI` is never used\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/models/mod.rs:121:11\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m121\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub trait ToOpenAI {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"trait `FromOpenAI` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/models/mod.rs","byte_start":2883,"byte_end":2893,"line_start":125,"line_end":125,"column_start":11,"column_end":21,"is_primary":true,"text":[{"text":"pub trait FromOpenAI {","highlight_start":11,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: trait `FromOpenAI` is never used\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/models/mod.rs:125:11\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m125\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub trait FromOpenAI {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"methods `name`, `supports_multimodal`, `estimate_tokens`, and `calculate_cost` are never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/mod.rs","byte_start":226,"byte_end":234,"line_start":14,"line_end":14,"column_start":11,"column_end":19,"is_primary":false,"text":[{"text":"pub trait Provider: Send + Sync {","highlight_start":11,"highlight_end":19}],"label":"methods in this trait","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/mod.rs","byte_start":310,"byte_end":314,"line_start":16,"line_end":16,"column_start":8,"column_end":12,"is_primary":true,"text":[{"text":" fn name(&self) -> &str;","highlight_start":8,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/mod.rs","byte_start":504,"byte_end":523,"line_start":22,"line_end":22,"column_start":8,"column_end":27,"is_primary":true,"text":[{"text":" fn supports_multimodal(&self) -> bool;","highlight_start":8,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/mod.rs","byte_start":780,"byte_end":795,"line_start":31,"line_end":31,"column_start":8,"column_end":23,"is_primary":true,"text":[{"text":" fn estimate_tokens(&self, request: &UnifiedRequest) -> Result<u32>;","highlight_start":8,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/mod.rs","byte_start":897,"byte_end":911,"line_start":34,"line_end":34,"column_start":8,"column_end":22,"is_primary":true,"text":[{"text":" fn calculate_cost(&self, prompt_tokens: u32, completion_tokens: u32) -> f64;","highlight_start":8,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: methods `name`, `supports_multimodal`, `estimate_tokens`, and `calculate_cost` are never used\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/mod.rs:16:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m14\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub trait Provider: Send + Sync {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------\u001b[0m \u001b[1m\u001b[94mmethods in this trait\u001b[0m\n\u001b[1m\u001b[94m15\u001b[0m \u001b[1m\u001b[94m|\u001b[0m /// Get provider name (e.g., \"openai\", \"gemini\")\n\u001b[1m\u001b[94m16\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn name(&self) -> &str;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m22\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn supports_multimodal(&self) -> bool;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m31\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn estimate_tokens(&self, request: &UnifiedRequest) -> Result<u32>;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m34\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn calculate_cost(&self, prompt_tokens: u32, completion_tokens: u32) -> f64;\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"method `get_provider` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/mod.rs","byte_start":1230,"byte_end":1250,"line_start":50,"line_end":50,"column_start":1,"column_end":21,"is_primary":false,"text":[{"text":"impl ProviderManager {","highlight_start":1,"highlight_end":21}],"label":"method in this implementation","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/mod.rs","byte_start":1675,"byte_end":1687,"line_start":67,"line_end":67,"column_start":12,"column_end":24,"is_primary":true,"text":[{"text":" pub fn get_provider(&self, name: &str) -> Option<Arc<dyn Provider>> {","highlight_start":12,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: method `get_provider` is never used\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/mod.rs:67:12\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m50\u001b[0m \u001b[1m\u001b[94m|\u001b[0m impl ProviderManager {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------------------\u001b[0m \u001b[1m\u001b[94mmethod in this implementation\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m67\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn get_provider(&self, name: &str) -> Option<Arc<dyn Provider>> {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"field `config` is never read","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/openai.rs","byte_start":580,"byte_end":594,"line_start":13,"line_end":13,"column_start":12,"column_end":26,"is_primary":false,"text":[{"text":"pub struct OpenAIProvider {","highlight_start":12,"highlight_end":26}],"label":"field in this struct","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/openai.rs","byte_start":635,"byte_end":641,"line_start":15,"line_end":15,"column_start":5,"column_end":11,"is_primary":true,"text":[{"text":" config: crate::config::OpenAIConfig,","highlight_start":5,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: field `config` is never read\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/openai.rs:15:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m13\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct OpenAIProvider {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------------\u001b[0m \u001b[1m\u001b[94mfield in this struct\u001b[0m\n\u001b[1m\u001b[94m14\u001b[0m \u001b[1m\u001b[94m|\u001b[0m client: Client<OpenAIConfig>,\n\u001b[1m\u001b[94m15\u001b[0m \u001b[1m\u001b[94m|\u001b[0m config: crate::config::OpenAIConfig,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"field `finish_reason` is never read","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/gemini.rs","byte_start":733,"byte_end":748,"line_start":37,"line_end":37,"column_start":8,"column_end":23,"is_primary":false,"text":[{"text":"struct GeminiCandidate {","highlight_start":8,"highlight_end":23}],"label":"field in this struct","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/gemini.rs","byte_start":783,"byte_end":796,"line_start":39,"line_end":39,"column_start":5,"column_end":18,"is_primary":true,"text":[{"text":" finish_reason: Option<String>,","highlight_start":5,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`GeminiCandidate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: field `finish_reason` is never read\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/gemini.rs:39:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m37\u001b[0m \u001b[1m\u001b[94m|\u001b[0m struct GeminiCandidate {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m---------------\u001b[0m \u001b[1m\u001b[94mfield in this struct\u001b[0m\n\u001b[1m\u001b[94m38\u001b[0m \u001b[1m\u001b[94m|\u001b[0m content: GeminiContent,\n\u001b[1m\u001b[94m39\u001b[0m \u001b[1m\u001b[94m|\u001b[0m finish_reason: Option<String>,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `GeminiCandidate` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\n"}
|
||||
{"$message_type":"diagnostic","message":"field `config` is never read","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/deepseek.rs","byte_start":580,"byte_end":596,"line_start":13,"line_end":13,"column_start":12,"column_end":28,"is_primary":false,"text":[{"text":"pub struct DeepSeekProvider {","highlight_start":12,"highlight_end":28}],"label":"field in this struct","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/deepseek.rs","byte_start":677,"byte_end":683,"line_start":15,"line_end":15,"column_start":5,"column_end":11,"is_primary":true,"text":[{"text":" config: crate::config::DeepSeekConfig,","highlight_start":5,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: field `config` is never read\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/deepseek.rs:15:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m13\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct DeepSeekProvider {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m----------------\u001b[0m \u001b[1m\u001b[94mfield in this struct\u001b[0m\n\u001b[1m\u001b[94m14\u001b[0m \u001b[1m\u001b[94m|\u001b[0m client: Client<OpenAIConfig>, // DeepSeek uses OpenAI-compatible API\n\u001b[1m\u001b[94m15\u001b[0m \u001b[1m\u001b[94m|\u001b[0m config: crate::config::DeepSeekConfig,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"fields `client`, `config`, and `api_key` are never read","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/grok.rs","byte_start":181,"byte_end":193,"line_start":11,"line_end":11,"column_start":12,"column_end":24,"is_primary":false,"text":[{"text":"pub struct GrokProvider {","highlight_start":12,"highlight_end":24}],"label":"fields in this struct","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/grok.rs","byte_start":200,"byte_end":206,"line_start":12,"line_end":12,"column_start":5,"column_end":11,"is_primary":true,"text":[{"text":" client: reqwest::Client,","highlight_start":5,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/grok.rs","byte_start":229,"byte_end":235,"line_start":13,"line_end":13,"column_start":5,"column_end":11,"is_primary":true,"text":[{"text":" config: crate::config::GrokConfig,","highlight_start":5,"highlight_end":11}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/grok.rs","byte_start":268,"byte_end":275,"line_start":14,"line_end":14,"column_start":5,"column_end":12,"is_primary":true,"text":[{"text":" api_key: String,","highlight_start":5,"highlight_end":12}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: fields `client`, `config`, and `api_key` are never read\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/grok.rs:12:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m11\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct GrokProvider {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m------------\u001b[0m \u001b[1m\u001b[94mfields in this struct\u001b[0m\n\u001b[1m\u001b[94m12\u001b[0m \u001b[1m\u001b[94m|\u001b[0m client: reqwest::Client,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m\n\u001b[1m\u001b[94m13\u001b[0m \u001b[1m\u001b[94m|\u001b[0m config: crate::config::GrokConfig,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^\u001b[0m\n\u001b[1m\u001b[94m14\u001b[0m \u001b[1m\u001b[94m|\u001b[0m api_key: String,\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"struct `PlaceholderProvider` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/mod.rs","byte_start":1956,"byte_end":1975,"line_start":78,"line_end":78,"column_start":16,"column_end":35,"is_primary":true,"text":[{"text":" pub struct PlaceholderProvider {","highlight_start":16,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: struct `PlaceholderProvider` is never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/mod.rs:78:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m78\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub struct PlaceholderProvider {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"associated function `new` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/mod.rs","byte_start":2011,"byte_end":2035,"line_start":82,"line_end":82,"column_start":5,"column_end":29,"is_primary":false,"text":[{"text":" impl PlaceholderProvider {","highlight_start":5,"highlight_end":29}],"label":"associated function in this implementation","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/providers/mod.rs","byte_start":2053,"byte_end":2056,"line_start":83,"line_end":83,"column_start":16,"column_end":19,"is_primary":true,"text":[{"text":" pub fn new(name: &str) -> Self {","highlight_start":16,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: associated function `new` is never used\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/mod.rs:83:16\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m82\u001b[0m \u001b[1m\u001b[94m|\u001b[0m impl PlaceholderProvider {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m------------------------\u001b[0m \u001b[1m\u001b[94massociated function in this implementation\u001b[0m\n\u001b[1m\u001b[94m83\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub fn new(name: &str) -> Self {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^\u001b[0m\n\n"}
|
||||
{"$message_type":"diagnostic","message":"variants `ConfigError`, `MultimodalError`, `RateLimitError`, and `InternalError` are never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/errors/mod.rs","byte_start":56,"byte_end":64,"line_start":4,"line_end":4,"column_start":10,"column_end":18,"is_primary":false,"text":[{"text":"pub enum AppError {","highlight_start":10,"highlight_end":18}],"label":"variants in this enum","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/errors/mod.rs","byte_start":179,"byte_end":190,"line_start":9,"line_end":9,"column_start":5,"column_end":16,"is_primary":true,"text":[{"text":" ConfigError(String),","highlight_start":5,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/errors/mod.rs","byte_start":450,"byte_end":465,"line_start":21,"line_end":21,"column_start":5,"column_end":20,"is_primary":true,"text":[{"text":" MultimodalError(String),","highlight_start":5,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/errors/mod.rs","byte_start":521,"byte_end":535,"line_start":24,"line_end":24,"column_start":5,"column_end":19,"is_primary":true,"text":[{"text":" RateLimitError(String),","highlight_start":5,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"src/errors/mod.rs","byte_start":593,"byte_end":606,"line_start":27,"line_end":27,"column_start":5,"column_end":18,"is_primary":true,"text":[{"text":" InternalError(String),","highlight_start":5,"highlight_end":18}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: variants `ConfigError`, `MultimodalError`, `RateLimitError`, and `InternalError` are never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/errors/mod.rs:9:5\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m4\u001b[0m \u001b[1m\u001b[94m|\u001b[0m pub enum AppError {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[94m--------\u001b[0m \u001b[1m\u001b[94mvariants in this enum\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n \u001b[1m\u001b[94m9\u001b[0m \u001b[1m\u001b[94m|\u001b[0m ConfigError(String),\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m21\u001b[0m \u001b[1m\u001b[94m|\u001b[0m MultimodalError(String),\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m24\u001b[0m \u001b[1m\u001b[94m|\u001b[0m RateLimitError(String),\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^\u001b[0m\n\u001b[1m\u001b[94m...\u001b[0m\n\u001b[1m\u001b[94m27\u001b[0m \u001b[1m\u001b[94m|\u001b[0m InternalError(String),\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^\u001b[0m\n \u001b[1m\u001b[94m|\u001b[0m\n \u001b[1m\u001b[94m= \u001b[0m\u001b[1mnote\u001b[0m: `AppError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis\n\n"}
|
||||
{"$message_type":"diagnostic","message":"28 warnings emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: 28 warnings emitted\u001b[0m\n\n"}
|
||||
Reference in New Issue
Block a user