Händelser
En beständig logg över vad agenter gjorde, och varför.
Vad den gör
Arbete mellan agenter registreras som uppgifter, händelser, kopplingar och artefakter i en Postgres-logg som överlever omstarter och kan spelas upp igen. En typad händelsebuss i processen överför ungefär nittio typer av domänhändelser till prenumeranter inom en nod. Tillsammans ger de dig en tidslinje: vad som efterfrågades, vem det delegerades till, vad som kom tillbaka och var det tog stopp.
Varför det spelar roll
När en agentkedja gör något oväntat är den enda användbara frågan "visa mig stegen". En beständig uppgiftslogg gör detta till en enkel sökning snarare än ett arkeologiskt projekt, och gör omförsök och avbrott till faktiska funktioner istället för önsketänkande.
Hur det fungerar
Uppgiftsloggen är beständig och kan spelas upp igen
Uppgifter, händelser, delegeringskopplingar och artefakter är rader i Postgres, så en omstart gör inte att spåret går förlorat och en blockerad koppling kan försöka igen.
Avbryt och försök igen är förstklassiga funktioner
Åtgärder mot en pågående uppgift registreras i sig som händelser, så att ingripandet blir en del av tidslinjen.
Bussen i processen är ärlig med sitt omfång
Det är en typad sändare för en enskild nod. Vi beskriver den inte som en distribuerad händelseryggrad, eftersom den inte är det.
Frågor
- Är detta Kafka?
- Nej. Bussen i processen är en nod-lokal typad sändare, och beständigheten kommer från en Postgres-uppgiftslogg. Om du behöver strömning mellan kluster är detta inte rätt verktyg.
- Kan jag se vad en agent gjorde?
- Ja: en tidslinje för uppgifter med händelser, delegationskanter och artefakter, inklusive de åtgärder som vidtagits mot den.
The rest of the bag
Behörigheter per dokument som filtrerar svar, inte bara sidor.
Policybeslut cachelagras per session för snabbhet; en behörighetsändring sprids vid cache-invalidering snarare än omedelbart på varje pågående begäran.
Varje mapp och varje enskilt dokument har en åtkomstpolicy: offentlig, inloggad eller ägargodkänd. Dessa policyer sammanställs till ett kuvert per session som filtrerar vad en agent kan hämta innan den svarar. Ett behörighetsregister begränsar hela funktioner per klient, och de kritiska åtkomstkontrollerna nekar vid fel (fail closed).
Dokumentation
Ett mappträd som agenten läser, och en konfigurationsfil som den lyder.
Extraheringen omfattar PDF-filer, kalkylblad och transkriptioner. Exotiska binärformat tolkas inte.
E-post
Din agent har en egen inkorg, inte en delad version av din.
Inkommande meddelanden anländer via webhook från en e-postleverantör. Vi driver inte egna MX- eller SMTP-servrar.
That was step 6 of 6: a reply leaves, and the trail stays. Det är hela vägen, från ankomst till en återspelningsbar historik.