From 22424a210f960199eed9956b3e1eddb17f4a7d19 Mon Sep 17 00:00:00 2001 From: Maximiliano Duthey Date: Thu, 19 Mar 2026 13:21:07 -0300 Subject: [PATCH] feat: add TII support in publish command --- src/commands/publish.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/commands/publish.rs b/src/commands/publish.rs index 6b4fbaa..74f5ee9 100644 --- a/src/commands/publish.rs +++ b/src/commands/publish.rs @@ -7,6 +7,8 @@ use serde::{Deserialize, Serialize}; const MARKDOWN_MEDIA_TYPE: &str = "text/markdown"; #[allow(dead_code)] const PROTOCOL_MEDIA_TYPE: &str = "application/tx3"; +#[allow(dead_code)] +const TII_MEDIA_TYPE: &str = "application/tii+json"; #[derive(ClapArgs)] /// Arguments for the publish command (UNSTABLE - experimental feature) @@ -94,12 +96,21 @@ pub fn _run(_args: Args, config: &RootConfig) -> miette::Result<()> { let protocol = std::fs::read_to_string(config.protocol.main.clone()).into_diagnostic()?; + let tii_path = crate::builder::build_tii(config)?; + let tii_content = std::fs::read_to_string(&tii_path).into_diagnostic()?; + let mut image_layers = vec![oci_client::client::ImageLayer::new( protocol.as_bytes().to_vec(), PROTOCOL_MEDIA_TYPE.to_string(), None, )]; + image_layers.push(oci_client::client::ImageLayer::new( + tii_content.as_bytes().to_vec(), + TII_MEDIA_TYPE.to_string(), + None, + )); + if config.protocol.readme.is_some() { let readme = std::fs::read_to_string(config.protocol.readme.clone().unwrap()).into_diagnostic()?;