Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 44 additions & 36 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,9 @@ selected external-account references and durable owner-action requests. These
records do not grant infrastructure or credential access.
It also supports [software installations and workloads](docs/inventory.md#software-and-workloads)
as current inventory, independently of discovery or execution adapters.
Devices can retain [partial equipment knowledge](docs/inventory.md#partly-identified-equipment),
including bounded quantities, model alternatives and supported exclusions,
then be refined without changing their identity.

## License

Expand Down
16 changes: 14 additions & 2 deletions crates/omloom-contracts/build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,10 +57,17 @@ fn main() -> Result<(), Box<dyn Error>> {
_ => return Err("add a preflight rule before using this protobuf type".into()),
};
shapes.push_str(&format!(
"Shape {{ tag: {}, kind: {kind}, repeated: {}, group: {} }},\n",
"Shape {{ tag: {}, kind: {kind}, repeated: {}, group: {}, max_count: {} }},\n",
field.number(),
field.label() == Label::Repeated,
field.oneof_index.map_or(0, |index| index + 1)
field.oneof_index.map_or(0, |index| index + 1),
if message.name() == "EquipmentAlternatives"
&& matches!(field.name(), "candidates" | "excluded")
{
16
} else {
0
}
));
}
shapes.push_str("],\n");
Expand All @@ -71,6 +78,11 @@ fn main() -> Result<(), Box<dyn Error>> {
.position(|(package, m)| *package == "omloom.v1" && m.name() == "Record")
.ok_or("no Record")?;
shapes.push_str(&format!("\nconst ROOT: usize = {record};\n"));
let equipment = messages
.iter()
.position(|(package, m)| *package == "omloom.v1" && m.name() == "EquipmentClaim")
.ok_or("no EquipmentClaim")?;
shapes.push_str(&format!("\nconst EQUIPMENT_ROOT: usize = {equipment};\n"));
let request = messages
.iter()
.position(|(package, m)| *package == "omloom.workspace.v1" && m.name() == "Request")
Expand Down
Loading
Loading