* add llamacpp plugin * Refactor llamacpp plugin * add utils plugin * remove utils folder * add hardware implementation * add utils folder + move utils function * organize cargo files * refactor utils src * refactor util * apply fmt * fmt * Update gguf + reformat * add permission for gguf commands * fix cargo test windows * revert yarn lock * remove cargo.lock for hardware plugin * ignore cargo.lock file * Fix hardware invoke + refactor hardware + refactor tests, constants * use api wrapper in extension to invoke hardware call + api wrapper build integration * add newline at EOF (per Akarshan) * add vi mock for getSystemInfo
24 lines
740 B
Rust
24 lines
740 B
Rust
use serde_json::Value;
|
|
|
|
/// Extract command, args, and environment from JSON config
|
|
pub fn extract_command_args(
|
|
config: &Value,
|
|
) -> Option<(String, Vec<Value>, serde_json::Map<String, Value>)> {
|
|
let obj = config.as_object()?;
|
|
let command = obj.get("command")?.as_str()?.to_string();
|
|
let args = obj.get("args")?.as_array()?.clone();
|
|
let envs = obj
|
|
.get("env")
|
|
.unwrap_or(&Value::Object(serde_json::Map::new()))
|
|
.as_object()?
|
|
.clone();
|
|
Some((command, args, envs))
|
|
}
|
|
|
|
/// Extract boolean "active" field from JSON config
|
|
pub fn extract_active_status(config: &Value) -> Option<bool> {
|
|
let obj = config.as_object()?;
|
|
let active = obj.get("active")?.as_bool()?;
|
|
Some(active)
|
|
}
|