working on runtime executions

This commit is contained in:
2026-02-16 22:04:20 -06:00
parent f52320f889
commit 904ede04be
99 changed files with 6778 additions and 5929 deletions

View File

@@ -65,6 +65,8 @@ pub enum MessageType {
RuleEnabled,
/// Rule disabled
RuleDisabled,
/// Pack registered or installed (triggers runtime environment setup in workers)
PackRegistered,
}
impl MessageType {
@@ -82,6 +84,7 @@ impl MessageType {
Self::RuleCreated => "rule.created".to_string(),
Self::RuleEnabled => "rule.enabled".to_string(),
Self::RuleDisabled => "rule.disabled".to_string(),
Self::PackRegistered => "pack.registered".to_string(),
}
}
@@ -98,6 +101,7 @@ impl MessageType {
Self::RuleCreated | Self::RuleEnabled | Self::RuleDisabled => {
"attune.events".to_string()
}
Self::PackRegistered => "attune.events".to_string(),
}
}
@@ -115,6 +119,7 @@ impl MessageType {
Self::RuleCreated => "RuleCreated",
Self::RuleEnabled => "RuleEnabled",
Self::RuleDisabled => "RuleDisabled",
Self::PackRegistered => "PackRegistered",
}
}
}
@@ -433,6 +438,23 @@ pub struct RuleDisabledPayload {
pub trigger_ref: String,
}
/// Payload for PackRegistered message
///
/// Published when a pack is registered or installed so that workers can
/// proactively create runtime environments (virtualenvs, node_modules, etc.)
/// instead of waiting until the first execution.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct PackRegisteredPayload {
/// Pack ID
pub pack_id: Id,
/// Pack reference (e.g., "python_example")
pub pack_ref: String,
/// Pack version
pub version: String,
/// Runtime names that require environment setup (lowercase, e.g., ["python"])
pub runtime_names: Vec<String>,
}
#[cfg(test)]
mod tests {
use super::*;