Zum Hauptinhalt springen
Connic
Referenz

Expressions

Die sichere Ausdruckssprache mit Python-ähnlicher Syntax wird für Tool-Bedingungen, Approval-Regeln, Tests und Drain-Filter verwendet. Die Referenz beschreibt verfügbare Variablen, Literale, Zugriffspfade und Operatoren.

Zuletzt aktualisiert
Beispiele
expressions
context.user.role == "admin"
input.tier in ["pro", "enterprise"] and not context.suspended
param.amount > 1000
entry.changes.after.guardrail_type == "prompt_injection"
status == "completed" and output.confidence >= 0.8
params.customer_id == context.fixture_customer_id and invocations == 1

Verfügbare Variablen je Verwendung

Welche Variablen ein Ausdruck verwenden kann, hängt vom jeweiligen Konfigurationsfeld ab. Enthält er eine dort nicht verfügbare Variable, wird er je nach Verwendung abgelehnt oder als nicht erfüllt ausgewertet.

VariableVerwendet vonWert
input.<path>Bedingt verfügbare ToolsDie eingehende JSON-Payload der Verbindung.
context.<path>Bedingungen, Approvals, TestsWerte, die dem Kontext des Runs oder Test-Builders hinzugefügt wurden.
param.<path> / params.<path>Approvals / TestsArgumente des ausgewerteten Tool-Aufrufs.
outputTest AssertionsDie Antwort des Agenten: Gültiges JSON wird automatisch geparst, andere Antworten bleiben als String erhalten.
entry.<path>Log- und Audit-DrainsEin Feld aus dem Log- oder Audit-Eintrag, dessen Weiterleitung geprüft wird.
errorTest AssertionsDer Run-Fehler oder null.
statusTest AssertionsDer abschließende Status des Runs.
invocationsTool-Call AssertionsDie Anzahl passender Tool-Aufrufe.

Grammatik

Vergleiche
==, !=, <, <=, >, >=, in, not in, is und is not.
Boolesche Operatoren
Kombiniere Bedingungen mit and, or und not. Ein alleinstehender Zugriffsausdruck wird als boolescher Wert ausgewertet.
Literale
Strings, Zahlen, true, false, null sowie Listen-, Tupel-, Set- oder Objekt-Literale.
Datenzugriff
Lies verschachtelte Daten mit Punktnotation oder Indexzugriffen, zum Beispiel context.user.id oder input["items"][0].
Bewusst eingeschränkt
Funktionsaufrufe, Imports, Arithmetik, Zuweisungen und der Zugriff auf private Attribute werden nicht unterstützt. Expressions sind auf 2.000 Zeichen begrenzt. Ungültige Expressions werden je nach Feld abgelehnt oder als false ausgewertet.

Interpolation funktioniert anders

Expressions geben einen Wert für ein bedingtes Feld zurück. Interpolation setzt einen Wert in Text ein: Nutze $${VAR_NAME} für Umgebungsvariablen und, wo dokumentiert, $${context.user_id} für den Kontext eines einzelnen Runs. Prompt-Vorlagen verwenden {name}; mehr dazu unter Kontext.