Files
GopherGate/target/debug/.fingerprint/llm-proxy-c1f8dffe7d1d80cc/output-lib-llm_proxy
2026-02-26 12:47:43 -05:00

18 lines
21 KiB
Plaintext

{"$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":4023,"byte_end":4042,"line_start":100,"line_end":100,"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:100:29\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m100\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/openai.rs","byte_start":9062,"byte_end":9081,"line_start":222,"line_end":222,"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/openai.rs:222:29\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m222\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":"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":3739,"byte_end":3758,"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":[],"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: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\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":8801,"byte_end":8820,"line_start":215,"line_end":215,"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:215:29\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m215\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: `request`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/providers/gemini.rs","byte_start":6571,"byte_end":6578,"line_start":216,"line_end":216,"column_start":9,"column_end":16,"is_primary":true,"text":[{"text":" request: UnifiedRequest,","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/providers/gemini.rs","byte_start":6571,"byte_end":6578,"line_start":216,"line_end":216,"column_start":9,"column_end":16,"is_primary":true,"text":[{"text":" request: UnifiedRequest,","highlight_start":9,"highlight_end":16}],"label":null,"suggested_replacement":"_request","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `request`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/providers/gemini.rs:216:9\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m216\u001b[0m \u001b[1m\u001b[94m|\u001b[0m request: UnifiedRequest,\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: `_request`\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":"unused variable: `client_refill_rate`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"src/rate_limiting/mod.rs","byte_start":7100,"byte_end":7118,"line_start":222,"line_end":222,"column_start":13,"column_end":31,"is_primary":true,"text":[{"text":" let client_refill_rate = config.requests_per_minute as f64 / 60.0;","highlight_start":13,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"if this is intentional, prefix it with an underscore","code":null,"level":"help","spans":[{"file_name":"src/rate_limiting/mod.rs","byte_start":7100,"byte_end":7118,"line_start":222,"line_end":222,"column_start":13,"column_end":31,"is_primary":true,"text":[{"text":" let client_refill_rate = config.requests_per_minute as f64 / 60.0;","highlight_start":13,"highlight_end":31}],"label":null,"suggested_replacement":"_client_refill_rate","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: unused variable: `client_refill_rate`\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/rate_limiting/mod.rs:222:13\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m222\u001b[0m \u001b[1m\u001b[94m|\u001b[0m let client_refill_rate = config.requests_per_minute as f64 / 60.0;\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: `_client_refill_rate`\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"struct `DashboardCache` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/dashboard/mod.rs","byte_start":655,"byte_end":669,"line_start":28,"line_end":28,"column_start":8,"column_end":22,"is_primary":true,"text":[{"text":"struct DashboardCache {","highlight_start":8,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"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: struct `DashboardCache` is never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/dashboard/mod.rs:28:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m28\u001b[0m \u001b[1m\u001b[94m|\u001b[0m struct DashboardCache {\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(dead_code)]` (part of `#[warn(unused)]`) on by default\n\n"}
{"$message_type":"diagnostic","message":"struct `DashboardClient` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/dashboard/mod.rs","byte_start":887,"byte_end":902,"line_start":36,"line_end":36,"column_start":8,"column_end":23,"is_primary":true,"text":[{"text":"struct DashboardClient {","highlight_start":8,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: struct `DashboardClient` is never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/dashboard/mod.rs:36:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m36\u001b[0m \u001b[1m\u001b[94m|\u001b[0m struct DashboardClient {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"struct `DashboardProvider` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/dashboard/mod.rs","byte_start":1109,"byte_end":1126,"line_start":47,"line_end":47,"column_start":8,"column_end":25,"is_primary":true,"text":[{"text":"struct DashboardProvider {","highlight_start":8,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: struct `DashboardProvider` is never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/dashboard/mod.rs:47:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m47\u001b[0m \u001b[1m\u001b[94m|\u001b[0m struct DashboardProvider {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"struct `DashboardRequest` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/dashboard/mod.rs","byte_start":1314,"byte_end":1330,"line_start":57,"line_end":57,"column_start":8,"column_end":24,"is_primary":true,"text":[{"text":"struct DashboardRequest {","highlight_start":8,"highlight_end":24}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: struct `DashboardRequest` is never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/dashboard/mod.rs:57:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m57\u001b[0m \u001b[1m\u001b[94m|\u001b[0m struct DashboardRequest {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"struct `DashboardLog` is never constructed","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/dashboard/mod.rs","byte_start":1543,"byte_end":1555,"line_start":69,"line_end":69,"column_start":8,"column_end":20,"is_primary":true,"text":[{"text":"struct DashboardLog {","highlight_start":8,"highlight_end":20}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: struct `DashboardLog` is never constructed\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/dashboard/mod.rs:69:8\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m69\u001b[0m \u001b[1m\u001b[94m|\u001b[0m struct DashboardLog {\n \u001b[1m\u001b[94m|\u001b[0m \u001b[1m\u001b[33m^^^^^^^^^^^^\u001b[0m\n\n"}
{"$message_type":"diagnostic","message":"function `mask_token` is never used","code":{"code":"dead_code","explanation":null},"level":"warning","spans":[{"file_name":"src/dashboard/mod.rs","byte_start":19759,"byte_end":19769,"line_start":635,"line_end":635,"column_start":4,"column_end":14,"is_primary":true,"text":[{"text":"fn mask_token(token: &str) -> String {","highlight_start":4,"highlight_end":14}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: function `mask_token` is never used\u001b[0m\n \u001b[1m\u001b[94m--> \u001b[0msrc/dashboard/mod.rs:635:4\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m635\u001b[0m \u001b[1m\u001b[94m|\u001b[0m fn mask_token(token: &str) -> String {\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":634,"byte_end":648,"line_start":14,"line_end":14,"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":689,"byte_end":695,"line_start":16,"line_end":16,"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:16:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m14\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[94m15\u001b[0m \u001b[1m\u001b[94m|\u001b[0m client: Client<OpenAIConfig>,\n\u001b[1m\u001b[94m16\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":766,"byte_end":781,"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":816,"byte_end":829,"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":634,"byte_end":650,"line_start":14,"line_end":14,"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":731,"byte_end":737,"line_start":16,"line_end":16,"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:16:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m14\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[94m15\u001b[0m \u001b[1m\u001b[94m|\u001b[0m client: Client<OpenAIConfig>, // DeepSeek uses OpenAI-compatible API\n\u001b[1m\u001b[94m16\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":236,"byte_end":248,"line_start":12,"line_end":12,"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":255,"byte_end":261,"line_start":13,"line_end":13,"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":284,"byte_end":290,"line_start":14,"line_end":14,"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":323,"byte_end":330,"line_start":15,"line_end":15,"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:13:5\n \u001b[1m\u001b[94m|\u001b[0m\n\u001b[1m\u001b[94m12\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[94m13\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[94m14\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[94m15\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":"16 warnings emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[1m\u001b[33mwarning\u001b[0m\u001b[1m: 16 warnings emitted\u001b[0m\n\n"}