feat(automations): static_inputs on triggers + vertical-slice api/services

This commit is contained in:
CREDO23 2026-05-27 21:21:43 +02:00
parent 84d99f19a2
commit 27ab367a13
27 changed files with 915 additions and 356 deletions

View file

@ -45,8 +45,9 @@ class AutomationRun(BaseModel, TimestampMixin):
# locked at fire time so historical runs always show the exact code path
definition_snapshot = Column(JSONB, nullable=False)
trigger_payload = Column(JSONB, nullable=True)
resolved_inputs = Column(JSONB, nullable=False, server_default="{}")
# merged & validated inputs the run was dispatched with
# (trigger.static_inputs producer runtime data, static wins on collision)
inputs = Column(JSONB, nullable=False, server_default="{}")
# one entry per executed step; agent_task entries carry their own
# `agent_session_id` inside their entry
step_results = Column(JSONB, nullable=False, server_default="[]")

View file

@ -36,6 +36,10 @@ class AutomationTrigger(BaseModel, TimestampMixin):
params = Column(JSONB, nullable=False)
# Per-attachment domain values merged into every dispatched run's inputs.
# Static wins over runtime data on key collision.
static_inputs = Column(JSONB, nullable=False, server_default="{}")
enabled = Column(
Boolean,
nullable=False,