feat(automation): add isolated job delivery mode

This commit is contained in:
William Valentin
2026-02-15 19:23:15 -08:00
parent 0470647ee7
commit 421942f66d
13 changed files with 183 additions and 11 deletions
+8
View File
@@ -373,8 +373,13 @@ hooks:
Schedule automated messages on cron schedules. Each job fires an inbound message through the agent pipeline and routes the response to a configured output channel.
Set `automation.delivery_mode` to control automation session behavior:
- `shared_session` (default): reuse one session per cron job/webhook name.
- `isolated_job`: create a fresh session per cron trigger/webhook request.
```yaml
automation:
delivery_mode: shared_session
cron:
- name: daily-summary
schedule: "0 9 * * *" # 9 AM daily
@@ -399,6 +404,7 @@ automation:
| Field | Required | Description |
|-------|----------|-------------|
| `automation.delivery_mode` | no | Automation session strategy: `shared_session` or `isolated_job` (default: `shared_session`) |
| `name` | yes | Unique job identifier |
| `schedule` | yes | Cron expression (standard 5-field) |
| `message` | yes | Text sent to the agent when the job fires |
@@ -414,6 +420,7 @@ HTTP endpoints that trigger agent processing. Each webhook accepts POST requests
```yaml
automation:
delivery_mode: shared_session
webhooks:
- name: github-push
secret: "whsec_..." # HMAC secret for signature verification
@@ -435,6 +442,7 @@ Webhooks are available at `POST /webhooks/:name` on the gateway HTTP server. The
| Field | Required | Description |
|-------|----------|-------------|
| `automation.delivery_mode` | no | Automation session strategy: `shared_session` or `isolated_job` (default: `shared_session`) |
| `name` | yes | Unique webhook identifier (used in URL path) |
| `secret` | no | HMAC secret for `X-Webhook-Signature` header verification (SHA-256) |
| `message` | no | Template for the message sent to the agent (default: `{{body}}`) |