assay_runner_schema/
archive_manifest.rs1use serde::{Deserialize, Serialize};
2use std::collections::BTreeMap;
3
4pub const ARCHIVE_MANIFEST_SCHEMA: &str = "assay.runner.archive_manifest.v0";
5
6pub const MANIFEST_PATH: &str = "manifest.json";
7pub const EVENTS_PATH: &str = "events.ndjson";
8pub const KERNEL_LAYER_PATH: &str = "layers/kernel.ndjson";
9pub const POLICY_LAYER_PATH: &str = "layers/policy.ndjson";
10pub const SDK_LAYER_PATH: &str = "layers/sdk.ndjson";
11pub const CAPABILITY_SURFACE_PATH: &str = "capability-surface.json";
12pub const OBSERVATION_HEALTH_PATH: &str = "observation-health.json";
13pub const CORRELATION_REPORT_PATH: &str = "correlation-report.json";
14
15#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
16pub struct ArchiveFile {
17 pub path: String,
18 pub sha256: String,
19 pub bytes: u64,
20}
21
22#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
23pub struct ArchiveManifest {
24 pub schema: String,
25 pub run_id: String,
26 pub files: BTreeMap<String, ArchiveFile>,
27}