greentic-flow-dev 1.1.27665160846

Generic YGTC flow schema/loader/IR for self-describing component nodes.
Documentation
use greentic_flow::component_catalog::{ComponentCatalog, ManifestCatalog};
use serde_json::json;
use tempfile::NamedTempFile;

#[test]
fn catalog_resolves_component_exec_alias() {
    let manifest = json!({
        "id": "ai.greentic.hello",
        "config_schema": { "required": ["message"] },
        "dev_flows": {}
    });
    let file = NamedTempFile::new().expect("temp file");
    std::fs::write(file.path(), manifest.to_string()).expect("write manifest");

    let catalog = ManifestCatalog::load_from_paths(&[file.path()]);
    let exec = catalog
        .resolve("component.exec")
        .expect("component.exec present");
    assert!(exec.required_fields.is_empty());
    let component = catalog
        .resolve("ai.greentic.hello")
        .expect("component present");
    assert_eq!(component.required_fields, vec!["message".to_string()]);
}