synops/migrations/026_cli_tool_synops_clip.sql
vegard 8af4265b6e synops-clip orkestrering-støtte: cli_tool-registrering + clip_url jobb/API (oppgave 25.4)
Gjør synops-clip tilgjengelig i orkestreringer ved å:

1. Registrere synops-clip som cli_tool-node (migration 026) med norske
   aliases (clip, klipp, hent artikkel) og args_hints for script-kompilatoren.
   Orkestreringer kan nå skrive "1. clip fra event (lagre node, bruker)"
   som kompileres til "synops-clip --url {event.url} --write --created-by ...".

2. Legge til clip_url som jobbtype i jobbkøen (clip.rs) — spawner
   synops-clip med riktige env-variabler (DATABASE_URL, AI_GATEWAY_URL, etc).

3. Legge til POST /intentions/clip_url API-endepunkt slik at frontend
   og andre klienter kan trigge URL-klipping direkte.

4. Utvide trigger-konteksten med event.url og event.created_by slik at
   orkestreringer som reagerer på URL-deling kan videresende URL til
   synops-clip via variabel-substitusjon.
2026-03-18 18:55:11 +00:00

33 lines
1.1 KiB
PL/PgSQL

-- 026_cli_tool_synops_clip.sql
-- Oppgave 25.4: Registrer synops-clip som cli_tool-node for orkestreringer.
-- Gjør synops-clip tilgjengelig i script-kompilatoren slik at orkestreringer
-- kan skrive f.eks. "1. clip URL (lagre node)" og få det kompilert til
-- "synops-clip --url {event.url} --write".
--
-- Ref: docs/retninger/unix_filosofi.md, migrations/022_cli_tool_seeds.sql
BEGIN;
INSERT INTO nodes (id, node_kind, title, visibility, metadata, created_by)
VALUES (
'f0000000-c100-4000-b000-000000000016',
'cli_tool',
'synops-clip',
'discoverable',
'{
"binary": "synops-clip",
"aliases": ["clip", "klipp", "hent artikkel", "clip url"],
"description": "Hent og parse webartikler med Readability, opprett content-node med AI-oppsummering",
"args_hints": {
"url": "--url {arg}",
"fra event": "--url {event.url}",
"lagre node": "--write",
"bruker": "--created-by {event.created_by}",
"med timeout": "--timeout {arg}",
"force playwright": "--playwright"
}
}'::jsonb,
'a0eebc99-9c0b-4ef8-bb6d-6bb9bd380a11'
);
COMMIT;