use crate::SOURCE_FORMAT_OPAQUE;
use crate::container::{Descriptor, ObjectSource, UNIVERSE};
use crate::dra::{Op, Program};
use crate::error::Result;
use crate::integrity::sha256;
use crate::limits::Limits;
pub const FORMAT_BASIS: &str = "opaque;unconditional-exact-fallback";
pub fn propose(input: &[u8], _limits: Limits) -> Result<Descriptor> {
Ok(Descriptor {
universe: UNIVERSE.to_string(),
source_format: SOURCE_FORMAT_OPAQUE,
format_basis: FORMAT_BASIS.to_string(),
models: vec![],
channels: vec![],
objects: vec![ObjectSource::Inline(input.to_vec())],
program: Program::new(vec![Op::EmitObject { object_id: 0 }]),
observation_index: None,
seek_directory: false,
source_sha256: sha256(input),
source_len: input.len() as u64,
})
}