// This file was generated by [ts-rs](https://github.com/Aleph-Alpha/ts-rs). Do not edit this file manually.
import type { AgentAuthority } from "./AgentAuthority";
import type { AgentScope } from "./AgentScope";
import type { AgentTone } from "./AgentTone";
import type { KnowledgeSource } from "./KnowledgeSource";

/**
 * What an agent is, what it may claim, and how it should sound.
 *
 * Authored as YAML by the customer (see `policies/agents/*.yaml`), parsed
 * by `tl-policy::load_agent_str`, persisted in Postgres, cached in process,
 * and consulted by Tier 2 (out-of-scope embedding lookup) and Tier 3
 * (LLM judge ground truth).
 */
export type AgentProfile = { agent_id: string, display_name: string, scope: AgentScope, authority: AgentAuthority, tone: AgentTone, knowledge_sources: Array<KnowledgeSource>, escalation_triggers: Array<string>,
/**
 * Raw system prompt the customer ships to their LLM. Source of truth
 * for auto-generating guardrails: `POST /v1/agents/{id}/guardrails:generate`
 * reads this and asks an LLM to derive a policy set tailored to it.
 * Optional at the type level so existing profiles keep deserializing;
 * the generate endpoint enforces presence at call time.
 */
system_prompt?: string, };
