use serde::{Deserialize, Serialize};
use crate::bridge::ids::Sha256Digest;
pub const OPENCODE_V2_MIN_BRIDGE: semver::Version = semver::Version::new(0, 73, 0);
#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)]
pub struct ManifestOpenCode {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub min_client_version: Option<semver::Version>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub theme: Option<ThemeRef>,
#[serde(default, skip_serializing_if = "serde_json::Map::is_empty")]
pub cli_defaults: serde_json::Map<String, serde_json::Value>,
}
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
pub struct ThemeRef {
pub name: String,
pub sha: Sha256Digest,
}