Files
ruvnet--RuView/v2/crates/homecore-automation/Cargo.toml
T
ruv c633128569 fix: crates.io publish-blocking gaps in homecore-automation, homecore-hap
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.
2026-07-31 11:12:21 -04:00

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"] }