[WIP] workflow builder

This commit is contained in:
2026-02-23 20:45:10 -06:00
parent d629da32fa
commit 53a3fbb6b1
66 changed files with 7887 additions and 1608 deletions

View File

@@ -9,60 +9,54 @@ enabled: true
# Trigger type
type: cron
# Parameter schema - configuration for the trigger instance (standard JSON Schema format)
# Parameter schema - configuration for the trigger instance (StackStorm-style with inline required/secret)
parameters:
type: object
properties:
expression:
type: string
description: "Cron expression in standard format (second minute hour day month weekday)"
timezone:
type: string
description: "Timezone for cron schedule (e.g., 'UTC', 'America/New_York')"
default: "UTC"
description:
type: string
description: "Human-readable description of the schedule"
required:
- expression
expression:
type: string
description: "Cron expression in standard format (second minute hour day month weekday)"
required: true
timezone:
type: string
description: "Timezone for cron schedule (e.g., 'UTC', 'America/New_York')"
default: "UTC"
description:
type: string
description: "Human-readable description of the schedule"
# Payload schema - data emitted when trigger fires
output:
type: object
properties:
type:
type: string
const: cron
description: "Trigger type identifier"
fired_at:
type: string
format: date-time
description: "Timestamp when the trigger fired"
scheduled_at:
type: string
format: date-time
description: "Timestamp when the trigger was scheduled to fire"
expression:
type: string
description: "The cron expression that triggered this event"
timezone:
type: string
description: "Timezone used for scheduling"
next_fire_at:
type: string
format: date-time
description: "Timestamp when the trigger will fire next"
execution_count:
type: integer
description: "Number of times this trigger has fired"
sensor_ref:
type: string
description: "Reference to the sensor that generated this event"
required:
- type
- fired_at
- scheduled_at
- expression
type:
type: string
const: cron
description: "Trigger type identifier"
required: true
fired_at:
type: string
format: date-time
description: "Timestamp when the trigger fired"
required: true
scheduled_at:
type: string
format: date-time
description: "Timestamp when the trigger was scheduled to fire"
required: true
expression:
type: string
description: "The cron expression that triggered this event"
required: true
timezone:
type: string
description: "Timezone used for scheduling"
next_fire_at:
type: string
format: date-time
description: "Timestamp when the trigger will fire next"
execution_count:
type: integer
description: "Number of times this trigger has fired"
sensor_ref:
type: string
description: "Reference to the sensor that generated this event"
# Tags for categorization
tags:

View File

@@ -9,52 +9,46 @@ enabled: true
# Trigger type
type: one_shot
# Parameter schema - configuration for the trigger instance (standard JSON Schema format)
# Parameter schema - configuration for the trigger instance (StackStorm-style with inline required/secret)
parameters:
type: object
properties:
fire_at:
type: string
description: "ISO 8601 timestamp when the timer should fire (e.g., '2024-12-31T23:59:59Z')"
timezone:
type: string
description: "Timezone for the datetime (e.g., 'UTC', 'America/New_York')"
default: "UTC"
description:
type: string
description: "Human-readable description of when this timer fires"
required:
- fire_at
fire_at:
type: string
description: "ISO 8601 timestamp when the timer should fire (e.g., '2024-12-31T23:59:59Z')"
required: true
timezone:
type: string
description: "Timezone for the datetime (e.g., 'UTC', 'America/New_York')"
default: "UTC"
description:
type: string
description: "Human-readable description of when this timer fires"
# Payload schema - data emitted when trigger fires
output:
type: object
properties:
type:
type: string
const: one_shot
description: "Trigger type identifier"
fire_at:
type: string
format: date-time
description: "Scheduled fire time"
fired_at:
type: string
format: date-time
description: "Actual fire time"
timezone:
type: string
description: "Timezone used for scheduling"
delay_ms:
type: integer
description: "Delay in milliseconds between scheduled and actual fire time"
sensor_ref:
type: string
description: "Reference to the sensor that generated this event"
required:
- type
- fire_at
- fired_at
type:
type: string
const: one_shot
description: "Trigger type identifier"
required: true
fire_at:
type: string
format: date-time
description: "Scheduled fire time"
required: true
fired_at:
type: string
format: date-time
description: "Actual fire time"
required: true
timezone:
type: string
description: "Timezone used for scheduling"
delay_ms:
type: integer
description: "Delay in milliseconds between scheduled and actual fire time"
sensor_ref:
type: string
description: "Reference to the sensor that generated this event"
# Tags for categorization
tags:

View File

@@ -9,51 +9,45 @@ enabled: true
# Trigger type
type: interval
# Parameter schema - configuration for the trigger instance (standard JSON Schema format)
# Parameter schema - configuration for the trigger instance (StackStorm-style with inline required/secret)
parameters:
type: object
properties:
unit:
type: string
enum:
- seconds
- minutes
- hours
description: "Time unit for the interval"
default: "seconds"
interval:
type: integer
description: "Number of time units between each trigger"
default: 60
required:
- unit
- interval
unit:
type: string
enum:
- seconds
- minutes
- hours
description: "Time unit for the interval"
default: "seconds"
required: true
interval:
type: integer
description: "Number of time units between each trigger"
default: 60
required: true
# Payload schema - data emitted when trigger fires
output:
type: object
properties:
type:
type: string
const: interval
description: "Trigger type identifier"
interval_seconds:
type: integer
description: "Total interval in seconds"
fired_at:
type: string
format: date-time
description: "Timestamp when the trigger fired"
execution_count:
type: integer
description: "Number of times this trigger has fired"
sensor_ref:
type: string
description: "Reference to the sensor that generated this event"
required:
- type
- interval_seconds
- fired_at
type:
type: string
const: interval
description: "Trigger type identifier"
required: true
interval_seconds:
type: integer
description: "Total interval in seconds"
required: true
fired_at:
type: string
format: date-time
description: "Timestamp when the trigger fired"
required: true
execution_count:
type: integer
description: "Number of times this trigger has fired"
sensor_ref:
type: string
description: "Reference to the sensor that generated this event"
# Tags for categorization
tags: