mirror of
https://github.com/ruvnet/RuView
synced 2026-08-11 20:41:44 +00:00
c633128569
homecore-automation's and homecore-hap's path dependency on homecore had no version requirement -- crates.io rejects "all dependencies must have a version requirement specified when publishing". Pinned both to homecore = "0.1.0-alpha.0", the version just published. Also fixed homecore-hap's repository field, which pointed at github.com/ruvnet/wifi-densepose (a 404) instead of the actual github.com/ruvnet/RuView -- inconsistent with every other homecore-* crate's Cargo.toml. Found while publishing the full homecore-* batch to crates.io (homecore, -api, -automation, -assist, -hap, -migrate, -plugins, -recorder, -server -- all 9, v0.1.0-alpha.0). Both crates verified via cargo publish --dry-run before and after.
51 lines
1.8 KiB
TOML
51 lines
1.8 KiB
TOML
# homecore-automation — HOMECORE automation engine, trigger evaluator, and
|
|
# MiniJinja template evaluator.
|
|
# Implements ADR-129 (HOMECORE-AUTO): YAML automation parser, trigger/condition/
|
|
# action evaluation, AutomationEngine runtime that subscribes to the HOMECORE
|
|
# event bus and fires automations.
|
|
|
|
[package]
|
|
name = "homecore-automation"
|
|
version = "0.1.0-alpha.0"
|
|
edition = "2021"
|
|
license = "MIT"
|
|
authors = ["rUv <ruv@ruv.net>", "HOMECORE Contributors"]
|
|
description = "Automation engine, trigger evaluator, and MiniJinja template evaluator for HOMECORE (ADR-129)"
|
|
repository = "https://github.com/ruvnet/RuView"
|
|
|
|
[lib]
|
|
name = "homecore_automation"
|
|
path = "src/lib.rs"
|
|
|
|
[dependencies]
|
|
# HOMECORE core — state machine, event bus, service registry, entity types
|
|
homecore = { path = "../homecore", version = "0.1.0-alpha.0" }
|
|
|
|
# Async runtime
|
|
tokio = { version = "1", features = ["sync", "rt", "rt-multi-thread", "time", "macros"] }
|
|
|
|
# Serialization — YAML automation files + JSON service call data
|
|
serde = { version = "1", features = ["derive"] }
|
|
serde_yaml = "0.9"
|
|
serde_json = "1"
|
|
|
|
# MiniJinja — HA-compatible Jinja2 template engine in pure Rust (ADR-129 §2.1).
|
|
# `fuel` bounds instruction count so a malicious `template:` condition cannot
|
|
# spin the engine with a nested-loop / huge-repeat DoS (HC-SEC-01).
|
|
minijinja = { version = "2", features = ["json", "loader", "fuel"] }
|
|
|
|
# Error handling
|
|
thiserror = "1"
|
|
|
|
# Time — chrono DateTime for triggers + condition evaluation
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
|
|
# Async trait for EvaluateTrigger + condition evaluate
|
|
async-trait = "0.1"
|
|
|
|
# Unique IDs for automation instances
|
|
uuid = { version = "1", features = ["v4"] }
|
|
|
|
[dev-dependencies]
|
|
tokio = { version = "1", features = ["sync", "rt", "rt-multi-thread", "time", "macros", "test-util"] }
|