feat: add pipeline engine with approval flow and file triggers

Sequential step executor (script, claude_prompt, approval, api_call,
template, skyvern placeholder), reaction-based approvals, file upload
trigger matching, portal API state sync.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Christian Gick
2026-03-18 17:06:07 +02:00
parent f4feb3bfe1
commit bd8d96335e
12 changed files with 755 additions and 1 deletions

View File

@@ -0,0 +1,24 @@
"""Skyvern step — browser automation via Skyvern API (Phase 2 placeholder)."""
import logging
logger = logging.getLogger(__name__)
async def execute_skyvern(config: dict, send_text=None, target_room: str = "", **_kwargs) -> str:
"""Dispatch a browser task to Skyvern.
Phase 2: Will integrate with self-hosted Skyvern on matrixhost.
"""
task = config.get("task", {})
url = task.get("url", "")
goal = task.get("goal", "")
if send_text and target_room:
await send_text(
target_room,
f"**Browser Task**: Skyvern integration pending setup.\n"
f"URL: {url}\nGoal: {goal}",
)
raise NotImplementedError("Skyvern step not yet implemented (Phase 2)")