Commit Graph

344 Commits

Author SHA1 Message Date
Christian Gick
ad2caa90e7 chore: Trigger rebuild 2026-03-19 10:11:06 +02:00
Christian Gick
9f6132654c chore: Trigger rebuild 2026-03-19 10:10:09 +02:00
Christian Gick
6b226acb13 chore: Trigger rebuild 2026-03-19 10:09:22 +02:00
Christian Gick
9a223cd305 chore: Trigger rebuild 2026-03-19 10:08:30 +02:00
Christian Gick
21b6e78e83 chore: Trigger rebuild 2026-03-19 10:07:39 +02:00
Christian Gick
1d7730fbf7 fix: increase httpx timeout to 60s for Skyvern API calls
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:07:20 +02:00
Christian Gick
3aac724627 chore: Trigger rebuild 2026-03-19 10:01:16 +02:00
Christian Gick
ac0aefcfeb fix: use navigation_goal/data_extraction_goal for self-hosted Skyvern API
Cloud API uses 'prompt', self-hosted uses 'navigation_goal' and
'data_extraction_goal'. Pass them separately.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 10:00:56 +02:00
Christian Gick
8862ed2596 chore: Trigger rebuild 2026-03-19 09:23:26 +02:00
Christian Gick
8970179493 fix: remove /v1 suffix from OPENAI_COMPATIBLE_API_BASE
litellm client appends /v1/chat/completions itself.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:23:07 +02:00
Christian Gick
6084cd7d45 chore: Trigger rebuild 2026-03-19 09:20:37 +02:00
Christian Gick
ae8e6d7658 fix: use OPENAI_COMPATIBLE provider for Skyvern LLM via LiteLLM proxy
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 09:20:19 +02:00
Christian Gick
5f3b8ef1d8 chore: Trigger rebuild 2026-03-19 08:48:38 +02:00
Christian Gick
d86401fe93 feat: support extractionGoal from portal in browser executor
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:48:11 +02:00
Christian Gick
ea0df8c223 chore: Trigger rebuild 2026-03-19 08:41:30 +02:00
Christian Gick
b6acfca59d fix: use self-hosted Skyvern API paths and LiteLLM key
Self-hosted API uses /api/v1/tasks (not /v1/run/tasks), returns
task_id (not run_id). Pass LITELLM_API_KEY as OPENAI_API_KEY.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:41:10 +02:00
Christian Gick
4463cdfee9 chore: Trigger rebuild 2026-03-19 08:36:16 +02:00
Christian Gick
5724195fe0 fix: skyvern DB driver (postgresql+psycopg), add volumes, chromium-headful
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:35:55 +02:00
Christian Gick
0f251ddc37 chore: Trigger rebuild 2026-03-19 08:25:43 +02:00
Christian Gick
f3c7f994a2 feat: integrate Skyvern for browser automation
Add Skyvern container (public.ecr.aws) with dedicated PostgreSQL,
connected to LiteLLM proxy for LLM calls. Replace browser_executor
stub with full Skyvern API integration (create task, poll, extract).
Implement skyvern pipeline step for workflow chaining.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:25:07 +02:00
Christian Gick
e44e89aa00 chore: Trigger rebuild 2026-03-19 08:22:55 +02:00
Christian Gick
a22a922b43 Add Skyvern integration and browser executor enhancements
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 08:19:32 +02:00
Christian Gick
e94a5cfee4 chore: Trigger rebuild 2026-03-19 07:45:13 +02:00
Christian Gick
f27d545012 fix(MAT-164): proactive key poll on screen share + faster DEC_FAILED recovery
When a video track is subscribed (screen share starts), Element Call
rotates the E2EE key. Instead of waiting for DEC_FAILED, proactively
poll the timeline for the new key (6x @ 500ms = 3s window).

Also reduce DEC_FAILED threshold from 3→1 and cooldown from 5s→2s
for faster recovery when the proactive poll misses the rotation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 07:44:51 +02:00
Christian Gick
de3d67f756 chore: remove Claude Code artifacts from repository
- Delete tracked CLAUDE.md.migrated.20260308
- Update confluence-collab submodule (removed Claude Code docstring ref)
- .claude-session/ already gitignored, removed local copy

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19 07:04:56 +02:00
Christian Gick
4e92b8c053 chore: Trigger rebuild 2026-03-18 18:30:57 +02:00
Christian Gick
69ac33eb0a fix: strip emoji variation selectors in approval reaction matching
Element appends U+FE0F to emoji reactions (👍️ vs 👍). Strip before
matching against approval map.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 18:30:36 +02:00
Christian Gick
62d11ddfa8 chore: Trigger rebuild 2026-03-18 18:28:41 +02:00
Christian Gick
57cb676b93 debug: add logging to reaction handler for approval flow diagnosis
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 18:28:22 +02:00
Christian Gick
7f9769577b chore: Trigger rebuild 2026-03-18 18:25:10 +02:00
Christian Gick
c6ccacee9e fix: use ReactionEvent instead of UnknownEvent for approval reactions
matrix-nio parses m.reaction as ReactionEvent with .reacts_to and .key
fields. UnknownEvent handler never fired for reactions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 18:24:47 +02:00
Christian Gick
89aa46aeb2 chore: Trigger rebuild 2026-03-18 18:19:22 +02:00
Christian Gick
d985f9a593 fix: convert markdown to HTML in approval messages
Matrix needs formatted_body as HTML, not raw markdown. Added _md_to_html
for bold/italic/code conversion.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 18:19:00 +02:00
Christian Gick
95d5aa72f2 chore: Trigger rebuild 2026-03-18 17:41:30 +02:00
Christian Gick
bd8d96335e 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>
2026-03-18 17:06:07 +02:00
Christian Gick
f4feb3bfe1 chore: Trigger rebuild 2026-03-17 18:33:12 +02:00
Christian Gick
ef960844e5 chore: Trigger rebuild 2026-03-16 14:37:01 +02:00
Christian Gick
c9b88a155b feat(MAT-174): Fast pending check loop — Run Now triggers within 15s
Separate 15s poll for manual triggers (lastStatus=pending) from the
5-minute full job sync. Run Now button now fires within seconds.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:36:38 +02:00
Christian Gick
3928e85279 chore: Trigger rebuild 2026-03-16 14:18:09 +02:00
Christian Gick
bd65b12e5d fix(MAT-174): Stricter LLM filter prompt — exclude when in doubt
Require ALL criteria to clearly match. Exclude general articles,
category pages, unconfirmed locations. When in doubt, exclude.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:17:49 +02:00
Christian Gick
6937b91fe3 chore: Trigger rebuild 2026-03-16 14:17:10 +02:00
Christian Gick
3d5351a24a fix(MAT-174): Fix manage link — use markdown link to avoid italic underscore in URL
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:16:49 +02:00
Christian Gick
441def5fa3 chore: Trigger rebuild 2026-03-16 14:08:07 +02:00
Christian Gick
9ec45339e9 fix(MAT-174): Robust LLM filter JSON extraction with regex
LLM sometimes returns extra text around the JSON array. Use regex to
extract the array pattern instead of parsing the full response.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 14:07:47 +02:00
Christian Gick
ec46c37bc5 chore: Trigger rebuild 2026-03-16 10:16:07 +02:00
Christian Gick
19b72dfe07 feat(MAT-174): LLM-based result filtering for cron search jobs
Brave Search results are passed through LiteLLM (claude-haiku) when
job config includes a `criteria` field. LLM returns indices of matching
results, filtering out noise before posting to Matrix.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 10:14:01 +02:00
Christian Gick
846634738b chore: Trigger rebuild 2026-03-16 09:42:42 +02:00
Christian Gick
193c3ad329 fix(MAT-174): Python 3.11 backslash-in-fstring compat
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 09:42:24 +02:00
Christian Gick
5e2a7715a1 chore: Trigger rebuild 2026-03-16 09:34:49 +02:00
Christian Gick
4d8ea44b3d feat(MAT-174): Add cron job scheduler and executors
Cron package that syncs jobs from matrixhost portal API, schedules execution
with timezone-aware timing, and posts results to Matrix rooms. Includes
Brave Search, reminder, and browser scrape (placeholder) executors with
formatter. 31 pytest tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 09:31:19 +02:00