.NET API
Tracon
Namespaces
Section titled “Namespaces”Classes
Section titled “Classes”202 Accepted response for a queued run.
Validates an agent call graph at save time.
Applies every registered IAgentDecorator to an agent, in the same order Tracon.CompositeAgentCatalog uses.
The full definition of an agent. The same type is used whether the agent is declared in code or stored in the database; AgentDefinition.Origin tells the two apart.
Chat agent, child agent (sub-agent), and harness agent production.
Request to create or update an agent definition.
A summary view of an agent listed in the catalog. It carries everything the user interface needs to draw the agent list, without having to build the agent. A source must not mutate a descriptor or its nested collections after returning it.
Detailed view of a single agent.
A single named placeholder an AgentDefinition’s instructions can
reference as {{name}}.
A single parameter value violation.
AgentParameterValidationResult
The outcome of AgentParameterValidator.ValidateValues.
Validates an AgentDefinition’s parameter schema, and validates a run’s supplied values against it.
The definition of a structured output.
Request to roll back a definition to a previous version.
A run budget shared across an entire call tree.
A piece of reference text attached to a single run, kept apart from the model’s instructions.
Request for a trial run made from the UI.
Represents the view of a running run that is exposed to the helper components in the run path.
Stamps an AI.AgentSession with, and reads back, its Tracon
session identity.
Manages the lifecycle of named sessions: loads, restores, and saves them through ISessionStore.
Combines code and run-time skill sources with a precedence rule.
A markdown-based skill definition that can be loaded into an agent at run time.
Request to create or update a skill.
A readable resource carried with an AgentSkillDefinition.
A server-executable script stored together with an AgentSkillDefinition.
Describes one agent source registered in the catalog.
The priority values Tracon’s own built-in agent sources use.
The result of a validation that builds an agent definition without saving it and without calling any model.
Raw JSON response for comparing two definition versions. The diff is not computed on the server; the client compares the two raw definitions field by field.
The ambient pass-through for attributing a run that does not run inside an HTTP request to a user and a set of labels.
The ambient passing mechanism for running an operation executed in the background (outside an HTTP request) as a specific tenant.
Builds an Anthropic.AnthropicClient from settings and produces
AI.IChatClient instances from model bindings.
Builds the catalog shown to the UI from the model definitions in provider settings.
Extensions that add the Anthropic (Claude) provider to the Tracon chain.
The provider name registered by UseAnthropic and the
ModelBinding.ProviderSettings keys.
Tracon’s Anthropic (Claude) provider settings.
The request body for creating an API key.
The result of a key creation operation.
A draft for creating an API key.
A helper that produces a raw API key value and its hash.
An API key’s database-stored view, which CARRIES no raw VALUE.
Request body for deciding a pending approval request.
The JSON representation of a single row to write to the archive.
The content of a new attachment to be saved into the store.
The metadata of an uploaded attachment.
The filter used to list attachments.
Validates an attachment candidate against size and media-type allow lists.
Converts an attachment to a AI.UriContent
reference and resolves that reference back.
An ambient context that carries the user of the current call.
Computes the hash chain link for an audit trail entry. The single place the canonical form is defined; both the write path and the verify path call it, so the two can never drift apart.
The criteria that scope a hash chain verification.
The result of verifying one tenant’s audit trail hash chain.
Walks an ordered list of audit entries and reports the chain status. Shared by Tracon.InMemoryAuditLog and the SQL providers so the two verify algorithms can never drift apart.
A row in the audit trail that records who changed which entity and when.
Builds a small JSON object for the audit trail.
The criteria that filter an audit trail query.
A helper that supplies the common write path for all code that writes audit entries, including store decorators and endpoint-layer exceptions.
Redacts potential secrets from before and after payloads before
they are written to the audit trail.
Wraps an AI.AIFunction with an IToolAuthorizationHandler
check that runs before every call.
Builds an AzureOpenAIClient from options and produces AI.IChatClient instances from model bindings.
AzureOpenAIImageBuilderExtensions
Adds Azure OpenAI image generation to the Tracon chain.
Builds the catalog shown to the UI from the deployment definitions in the provider options.
Extensions that add the Azure OpenAI provider to the Tracon chain.
The provider name registered by the UseAzureOpenAI call, and the
ModelBinding.ProviderSettings keys.
Tracon’s Azure OpenAI provider options.
Resolves, from the catalog, the other agents an agent may call.
Represents the result of evaluating a canary policy against the current results of the canary and control variants.
Pure decision logic that evaluates a CanaryPolicy against the current results of the canary and control arms.
Options for the canary evaluation background service.
Defines automatic rollback and gradual traffic-increase rules for an experiment canary variant.
The state the chat history provider stores within a session.
Wraps a sub-agent an agent may call; enforces depth, budget, and tenant limits and links the sub-run into the tree.
Determines whether a response carries a tool call pending approval.
The result of a single client-side tool call, sent back so the run can continue.
A code-defined agent registration. Use one of two forms: declarative CodeAgentRegistration.Definition or CodeAgentRegistration.Factory, which gives full control.
Determines how an agent compacts its conversation history.
Caches compiled agents keyed by (tenant, name, version, skill fingerprint, culture).
Reports whether a configuration key resolves. It does not carry the value.
Verifies that a configuration key name a stored record points at sits under an allowed prefix.
The context of an IContentGuard call.
Pipeline that runs the registered IContentGuard implementations in sequence and records their decisions.
The result of an IContentGuard check.
The result of a pre-flight context-window check, computed without calling the model provider.
A hand-written parser for the standard five-field cron subset
(minute hour day-of-month month day-of-week).
Tenant of the current request.
The outcome of a data subject erasure request.
A data subject’s exported content.
The sessions, runs, and conversations that belong to one data subject.
DefaultProviderRetryClassifier
Tracon’s built-in provider retry classifier — the same closed-set rules Tracon.FallbackRetryClassifier has always applied.
The built-in IRunAttributionContext. It reports whatever AmbientRunAttributionScope carries, and nothing otherwise.
Tracon’s built-in error classifier.
Builds the AI.ChatMessage a document is carried in and lets the
recording path tell such a message apart from ordinary instructions text.
The single place that decides whether an outbound target address is safe.
Validates the address a socket is about to connect to, and opens the socket only to an allowed address.
A single test case inside an EvalSuite.
The result of IEvalStore.AddCaseAsync.
One case’s outcome on both sides of an EvalRunDiff.
Carrier for adding a single EvalCase.
Input shape of an eval case (in a request).
Request to promote a run to a case.
The result of a single EvalCase within an EvalRun.
A single execution record and summary of an EvalSuite.
The information needed to finalize a run.
Detailed view of a single eval run: summary and case results together.
The case-by-case difference between two completed EvalRun records of the same suite.
Aligns two eval runs’ per-case results into an EvalRunDiff.
Which two eval runs to compare, and which page of the result to read.
EvalRunDiffUnavailableException
Thrown by IEvalStore.DiffRunsAsync when two eval runs exist but cannot be compared.
A query for filtering the run list.
Request to trigger an eval run immediately.
An evaluation (eval) suite defined for an agent: carries which agent is measured, with which checks.
Request to create/update an eval suite.
Represents an A/B experiment that splits traffic between two or more definition versions of the same agent.
Represents the experiment variant to which a run request is deterministically assigned.
Response for GET /api/experiments/{name}/canary — the rule AND its
current evaluation together.
Defines a query for experiment results.
Per-variant results view of an experiment.
Request to create/update an experiment. The name comes from the path.
Defines one experiment variant: its definition version and traffic weight.
Summarizes run results for an experiment variant (calculated in the store).
One host-bound extension point and whether the host replaced its built-in default.
An immutable tenant context that always returns the same tenant.
The generated raw API key value and its derived forms.
Builds a Google GenAI GenAI.Client from settings and produces
AI.IChatClient instances from model bindings.
Adds Google image generation to the Tracon chain.
Builds the catalog shown in the UI from the model definitions in provider settings.
Extensions that add the Google Gemini provider to the Tracon chain.
Provider name registered by the UseGoogle call, and the
ModelBinding.ProviderSettings keys.
Tracon’s Google Gemini provider settings.
Settings for the harness capabilities. It mirrors a safe subset of the
HarnessAgentOptions structure of Microsoft Agent Framework.
Resolves the tenant from the current HTTP request.
An idempotency reservation request.
The result of an IIdempotencyStore.ReserveAsync call.
The stored HTTP response.
ImageGenerationOperatorRequest
The request body for an operator image-generation action.
ImageGenerationOperatorResponse
The result of an operator image-generation action.
Defines the configured price for one image-generation model.
InMemoryWorkflowCheckpointStore
Stores workflow checkpoints in process memory.
An inbound trigger definition: an external event that starts a queued run.
InboundTriggerAcceptedResponse
The response for a successfully accepted inbound trigger event.
The result of InboundTriggerDispatcher.EnqueueAsync.
Applies a fixed-window rate limit per inbound trigger.
The response describing an inbound trigger definition.
The request body for creating or replacing an inbound trigger.
Resolves an InboundTrigger’s signing secret by reading its configured configuration key.
InboundTriggerValidatedRequest
A request that passed every check and is ready to be queued.
InboundTriggerValidationResult
The result of InboundTriggerDispatcher.ValidateAsync.
Resolves the instructions text a run should use from an AgentDefinition’s culture dictionary.
Substitutes {{name}} placeholders in an instructions text with
concrete values.
The information needed to finalize a job.
The context available during an IJobHandler execution.
Detailed view of a single job: record and items together.
The stable codes a job’s JobRecord.ErrorMessage carries when the failure comes from the queue itself rather than from a handler.
The built-in job handler keys, plus validation for the keys a consumer registers.
A single input of a batch job and that input’s processing result.
The result of a processed job item. Reported with IJobStore.ReportItemAsync.
Well-known values and validation for job lane identifiers.
Extracts the job item input list from the free-form JSON in JobRecord.Payload/JobSchedule.Payload.
A filter for querying the job list.
The number of open jobs in one lane/status pair.
The summary of a queued job. The header of its items (JobItemRecord).
The description of one job to queue through IJobDispatcher.
The exception an IJobHandler throws to signal that it wants the job retried after a specific delay.
The schedule record defining when and how a job runs.
Request to create/update a schedule.
Request to trigger a schedule immediately.
A normalized judge failure returned by manual scoring.
The result of manually scoring a run.
One named score produced by an IRunJudge.
Text sent into a live conversation’s context.
Extensions that enable the provider-hosted live voice layer.
The request that creates a live voice session.
One event observed on a live voice session’s sideband.
The request that opens a provider-hosted live voice session.
LiveVoiceSessionCreateResponse
The answer that opens a provider-hosted live voice session.
The result of creating a live voice session.
The settings of one live voice session.
LiveVoiceSessionStatusResponse
The status of a provider-hosted live voice session.
One declarative stop criterion of the harness loop (see LoopSettings).
Turns the harness loop on: the agent is re-invoked until a stop criterion says the work is finished.
The result of the OAuth callback.
Response for starting OAuth Mode 1.
The result of an OAuth start request.
The summary of an MCP prompt argument.
Request to resolve an MCP prompt with arguments.
The resolved content of a prompt.
The result of listing prompts.
The summary of an MCP prompt.
Result of an MCP tool refresh.
The content of a resource that was read.
The result of listing resources.
The summary of an MCP resource.
A registered remote MCP server. Its tools are discovered at connection time and listed alongside the tools registered in code.
Request to create/update an MCP server.
Determines the memory providers bound to an agent.
Applies the embedded SQL migrations to the database.
Applies the embedded SQL migrations to the database.
Applies the embedded SQL migrations to the database.
Determines the provider and the model an agent runs with. It carries no credentials; the API key is resolved from configuration.
A model’s capabilities and limits.
One link of a ModelBinding.Fallbacks chain.
Defines a configured price override for one model.
Circuit breaker that temporarily cuts off requests when a model provider fails consecutively. Holds state per provider name.
A resolved, in-memory credential used to call a model provider on behalf of a specific tenant.
A provider’s definition as shown in the UI.
A model provider’s status at the last check.
Caches the health-check results of the registered model providers.
Registry that holds the registered IModelProvider implementations by name, and the single place that assembles the model-call pipeline.
Helpers that read and validate the ModelBinding.ProviderSettings dictionary.
Options for the built-in model-based judge (Tracon.ModelRunJudge).
Maintains a sliding-window summary of online evaluation scores and publishes WebhookEvents.RunScoreLow when its threshold is crossed.
Online evaluation settings.
Summarizes the online evaluation window (GET /api/evaluation/online).
Builds an OpenAI.OpenAIClient from options and produces
AI.IChatClient instances from model bindings.
OpenAICompatibleProviderExtensions
Extensions that add named providers with an OpenAI compatible chat API to the Tracon chain (OpenRouter, Groq, vLLM, Ollama, LM Studio, …).
OpenAICompatibleProviderOptions
Constants for the configuration path of the providers that
UseOpenAICompatible registers.
Adds OpenAI image generation to the Tracon chain.
Options of the OpenAI live voice provider.
Extensions that add OpenAI’s live voice provider to the Tracon chain.
Builds the catalog shown in the user interface from the model definitions in the provider options.
Extensions that add the OpenAI provider to the Tracon chain.
The provider names that the UseOpenAI call registers.
The OpenAI provider options of Tracon.
Settings for the built-in pattern-based guard.
The pending tool approval request of a run that executes from the queue.
Limits concurrent outgoing calls per model provider.
ProviderCredentialClientCache<TFactory>
Builds and caches a provider-specific client factory keyed by a resolved ModelProviderCredential (BYOK).
Summarizes diagnostics for a model provider.
The consumption of a completed run to add to the quota counters.
The result of a quota check.
A quota rule defined for a tenant or an agent.
Enforces quota rules and records the consumption of completed runs.
Calculates which quota period an instant falls into, and when that period resets.
Request body for saving a quota rule.
A single quota threshold crossed by a period’s consumption.
A filter for querying quota usage.
A scope’s consumption in the current period.
Response for the quota usage endpoint.
Replay could not find a recorded tool result.
Represents a resolved, applicable retention rule for a target.
Response caching settings for a ModelBinding.
Provides shared logic for preview and actual cleanup runs. Tracon.RetentionJobHandler
and the RetentionEndpoints “run now” and “preview” endpoints use it.
An age- and volume-based retention rule for a target.
Combines the database policy with the configuration default for a target.
Request body for saving a retention policy.
A preview of “how many rows would be deleted if run now” for a target.
The history record of a cleanup run.
Response to a “run now” request.
Defines a configuration-based retention default for one target.
The fixed table list a retention policy may target.
An agent’s run summary.
Reads an IRunAttributionContext safely on a recording path.
Describes one run awaiting an authorization decision.
The outcome of an authorization decision.
Side-by-side summary of two runs.
One side of the comparison.
Everything needed to close a run.
Cost of a run. It is computed and written once when the run ends (a price snapshot) — a later change to the price list does not change past values.
Result of a cost recalculation.
Error information for a failed run.
The result of an IRunErrorClassifier classification.
The summary of runs sharing the same fingerprint.
Produces the clustering digest Tracon’s built-in classifier uses.
An error class’s summary.
A single event produced during a run. Events are append-only: they are never updated, only added.
Validation for the CustomType string that qualifies a
RunEventType.Custom event.
Writes the events of a single run into IRunStore and produces the sequence number.
Request body for writing a run/message score.
A run’s stored input.
HTTP response for a run’s recorded input.
The limited context supplied to a judge.
The judge’s verdict: the named scores it produced.
A label’s run summary; one entry per distinct key/value pair.
The limits a run’s attribution must obey, and the single place they are enforced.
A model’s run summary. The input to cost computation.
Represents the RunToCasePromoter.PromoteAsync outcome and its case, when present.
Query used to filter the run list.
Orphaned-run reconciliation settings.
Summary of a run. It acts as the header of the event stream.
Run completion: usage/cost merging, error mapping, and the terminal store
write. RunRecordingAgent.CompleteAsync fans out to the root-only notifications
in RunRecordingAgent.Notifications.cs, but owns the outcome itself.
Represents a prepared replay plan.
A replay request.
Result of a replay.
Represents the run summary required for a sampling decision.
Decides whether to sample a completed run for online evaluation and, when sampled, queues a JobHandlerKeys.OnlineEval job.
A human (or judge) score for a run or for a single message within a run.
One aggregated group: every score sharing a breakdown key AND a RunScoreKind.
One time bucket of the trend series (RunScoreSummary.Series).
Shared pure logic for score trend bucket truncation (RunScoreBucket).
The filter for a score summary query (IRunScoreStore.SummarizeAsync).
The shared rules a RunScore must satisfy before it is stored.
The result of IRunScoreStore.SummarizeAsync.
Everything needed to open a new run.
A summary of the runs in a time range.
The filter for a run statistics query.
The shared pure logic for time-series bucket computation. Both
InMemoryRunStore and PostgresRunStore use this type, so the
bucket limit and rounding rules never diverge between the two stores.
Filter for a time-series query.
A run’s span tree. The waterfall view is built on top of this.
Listens to Tracon spans, buffers them per run, and writes them to ITraceStore when the run completes, based on the sampling decision.
Total cost of a run tree (the root plus every child run).
Token usage of a run.
A user’s run summary.
A definition version’s run summary.
Produces text that is safe to write to a persistent field or an external response, from an exception that may carry provider, network, or third-party detail.
Tracon’s single script execution path, which runs skill scripts in an isolated operating-system process.
Delays background services until the SQL schema is ready.
A semantic search hit.
A semantic search request.
Describes one session access awaiting an authorization decision.
The result of a branching attempt.
A request to branch a conversation from a specific point.
The result of branching.
Detailed view of a single session: metadata and chat history.
A filter for querying the session list.
A stored session.
The default tenant context for single-tenant deployments. It always returns TraconOptions.DefaultTenantId.
The settings of single-executor election.
The result of one skill script execution.
The record carrying permission to execute a skill script.
Request to grant script execution permission.
Validates the file name a stored script is written under.
The compile-path handle for skill script execution: sets up MAF’s file-based skill source and produces the execution delegate for stored scripts.
A speech synthesis request as an operator action.
The result of speech synthesis.
One character’s position in the generated audio.
Generated audio.
A text-to-speech generation request.
The result of speech-to-text conversion.
Speech-to-text conversion settings.
SqlPersistenceDiagnosticsSnapshot
Represents the current connection and migration status of an SQL persistence provider.
SqlPersistenceRegistrationMarker
Marks a registered SQL persistence provider.
The number of stored rows carrying one schema generation, and whether this build can read them.
The number of stored rows carrying one schema generation.
Answers “can this build still read the state already in the database” WITHOUT writing anything and without starting the application.
What a read-only state preflight found: how many rows carry each stored schema generation, and how a small sample of them behaved when this build tried to read them.
One sampled row, read for a decode attempt.
One sampled row the running build could not read.
StructuredResponseValidationContext
The response an IStructuredResponseValidator checks.
StructuredResponseValidationResult
The outcome of a structured response validation check.
Determines how long an agent waits for the agents it calls.
Defines span and metric tag names. Changing them breaks dashboards.
Builds the cache key for an AI.IChatClient
produced for a tenant credential (BYOK).
A registered tenant.
The set of model providers a tenant’s agents are allowed to call (egress policy).
The request body for creating or replacing a tenant’s egress policy.
The response describing a tenant’s egress policy.
Binds a tenant to a model provider’s credential, by name only.
The request body for creating or replacing a tenant provider binding.
The response describing a tenant provider binding.
TenantProviderCredentialResolver
Resolves a tenant’s TenantProviderBinding into a ModelProviderCredential by reading the bound configuration key’s value.
Request to create/update a tenant record.
Splits text into fixed-length chunks with overlap.
Trims text to a UTF-8 byte limit.
A summary of the runs in a time bucket. The result unit of
/api/stats/timeseries; empty buckets are also returned (with zero events).
Wraps an AI.AIFunction so a call that does not settle within a
fixed duration ends in TraconToolTimeoutException instead
of running unbounded.
The tool call a code-defined approval policy judges. Read-only.
Tool approval decision sent from the UI.
ToolApprovalPolicyRegistration
A code-defined approval policy registered through
ITraconBuilder.AddToolApprovalPolicy(...).
Holds the code-defined approval policies registered at startup, keyed by tool name.
A human-readable projection of one tool-approval request, produced by a consumer’s IToolApprovalPresenter.
Calls the registered IToolApprovalPresenter for every pending approval request and turns its fail-open contract into an actual guarantee.
A persistent approval rule for a tool call the user said “do not ask again” for.
Applies persistent approval rules to a tool call.
Request to create a persistent, argument-conditioned approval rule.
One comparison against a tool call argument: path · operator · value.
The size limits that keep ToolArgumentCondition a comparison, not a rule engine.
The outcome of a tool arguments validation check.
Describes one tool call awaiting an authorization decision.
The outcome of an authorization decision.
A single tool call’s non-token measurement and cost.
The UI-facing definition of a tool registered in code. The agent editor shows a selection from this list; it does not accept free-text input.
The summary of a single completed tool call.
Configures metadata for a tool registration.
A tool’s usage summary. Shown by the UI’s Tools screen.
The filter for a tool usage summary.
The known unit names for ToolCallUsage.Unit.
A single persisted OpenTelemetry span.
A span set belonging to a single trace.
Extensions that register the services needed to publish Tracon agents over A2A.
Extensions that connect the HTTP endpoint that publishes Tracon agents over A2A.
Settings for publishing Tracon agents over A2A.
Defines limits that apply when an agent calls another agent.
Connects the Microsoft Agent Framework’s Hosting.AgentSessionStore
abstraction to Tracon’s AgentSessionManager class.
Represents a normalized failure from an IAgentSource.
Options for asynchronous approvals.
Defines queued, durable run options.
Defines attachment upload limits for size and media-type allow lists.
Defines options for audit-trail actor resolution.
Reports which authentication layers are enabled.
Defines circuit-breaker options that temporarily stop requests after a model provider returns consecutive failures.
Registers a client-side tool: its declaration (name, description, JSON schema) lives in code, like every other tool (the code-only tools rule), but its body runs on the caller instead of on the server.
Thrown when an agent definition cannot be turned into a runnable agent.
Thrown when an IContentGuard blocks content.
TraconContentFilteredException
Thrown when a model provider cuts the response short with its safety or content filter.
TraconContentGuardBuilderExtensions
Chain extensions that turn on content inspection.
Settings for the content inspection pipeline.
TraconContentProtectionExtensions
Chain extensions that turn on at-rest content protection.
TraconContentProtectionOptions
Settings for at-rest content protection.
Defines Tracon telemetry source and measurement names.
Collects the installation’s self-diagnostic summary report.
Reports the self-diagnostics of the installation.
Graceful-shutdown draining settings.
Shared rules for the target address of outbound network requests.
Access and behavior settings for the endpoints connected via MapTracon.
TraconEndpointRouteBuilderExtensions
Extensions that connect Tracon’s HTTP surface to the application.
A custom check registration added through ITraconBuilder.AddEvalCheck(...).
Base class for every error Tracon raises.
Thrown when an external caller (over MCP or A2A) asked to invoke an agent from the catalog and the call was refused because it crosses a boundary.
The helper methods called by tool wrappers produced by the source generator while converting JSON arguments to CLR types.
Extensions that connect Tracon to the standard.NET health check system.
Defines model-provider health-check options.
UUID version 7 generator for Tracon identifiers (RFC 9562).
Options for Idempotency-Key support.
Settings for the image-generation tool.
Options that constrain inbound triggers.
Options for the knowledge base (semantic search).
TraconLoopEvaluatorRegistration
A code-defined loop stop criterion registered through
ITraconBuilder.AddLoopEvaluator(...).
Extensions that register tool discovery from remote MCP servers.
Options for connecting to remote MCP servers.
The security boundary applied to stored MCP server definitions.
TraconMcpServerBuilderExtensions
Extensions that register the services needed to publish Tracon agents as MCP tools.
Extensions that connect the HTTP endpoint that publishes Tracon agents as MCP tools.
Settings for publishing Tracon agents as MCP tools.
Response for {prefix}/api/meta. Carries the minimum information the
UI needs to configure itself.
Metrics emitted by Tracon. Consumers collect them with
AddMeter(TraconDiagnostics.MeterName).
Defines the outgoing concurrency limit applied per model provider.
Defines telemetry collection and persistence options.
TraconOnlineEvaluationBuilderExtensions
Chain extensions that turn on the built-in model-based judge.
Defines Tracon run-time options.
Role-based authorization policy names that Tracon defines.
TraconPostgreSqlBuilderExtensions
Extensions that add PostgreSQL persistence to the Tracon chain.
Settings for Tracon’s PostgreSQL persistence layer.
Defines options for the pre-flight context-window check.
Defines a run-cost price source. It is a secondary source for a model that has no price in the ModelDescriptor catalog.
TraconProviderUnavailableException
Thrown when the circuit breaker has temporarily taken a model provider out of service.
Defines options for the quota subsystem.
Rate-limit settings applied to Tracon endpoints.
Defines data retention and archival options.
Reports which role levels the current request’s caller satisfies.
TraconRunBudgetExceededException
Thrown when a run tree’s token or cost budget runs out mid-run, between two model turns.
Carries the identity, tree position, and budget of the running run to the helper components inside the run path.
Interrupted-run continuation settings.
Run options that let the caller determine a run’s identifier, its place in the tree, and its budget.
Defines how much detail run recording retains.
Batch and scheduled run settings.
TraconServiceCollectionExtensions
Extensions that register Tracon with dependency injection.
TraconSessionConflictException
Thrown for the losing request when two concurrent first requests arrive for the same new session id.
TraconSessionOwnerRequiredException
Thrown when session ownership is on, a session write needs an owner, and no authenticated identity could be resolved to be that owner.
Turns per-user session ownership on, a second boundary drawn UNDER the tenant.
The stable keys Tracon uses in an AgentSession state bag.
Defines limits for skill content and agent attachment.
TraconSkillScriptBuilderExtensions
Configuration extensions that enable skill script execution.
Defines options that control server-side skill script execution.
TraconSqlServerBuilderExtensions
Extensions that add SQL Server persistence to the Tracon chain.
Settings for Tracon’s SQL Server persistence layer.
Extensions that add SQLite persistence to the Tracon chain.
Settings for Tracon’s SQLite persistence layer.
Reports which storage implementations are active.
TraconStructuredResponseException
Thrown when a run’s response fails structured output validation.
TraconStructuredResponseOptions
Structured response validation settings.
TraconTenancyBuilderExtensions
Extensions that connect multi-tenancy to the HTTP request.
Settings that determine how the tenant is resolved from the request.
Options that constrain per-tenant model provider bindings (BYOK).
TraconToolApprovalPolicyExtensions
Chain extension that registers a code-defined approval policy for a tool.
Marks a method as a tool. AddToolsFrom<T> registers only
methods carrying this attribute.
Defines tool execution options.
A single tool registered with dependency injection. Tracon builds the tool registry from these registrations.
Thrown when a tool call does not settle within its configured timeout.
Lets a tool report non-token usage from its own body.
Provides extensions that register the embedded management UI.
Defines options for the POST /api/agents/validate endpoint.
Event publishing (webhook) settings.
TraconWorkflowFunctionExtensions
Extensions that register a code function as a workflow node.
Settings that control workflow execution.
TraconWorkflowsBuilderExtensions
Extensions that register workflow execution.
Wraps an AI.AIFunction so a result over a byte limit is trimmed
and handed to the model inside an envelope that states how many bytes were
dropped, instead of running unbounded.
A single ready-made chunk in an upload request.
Request to upload a document.
Result of a document upload request.
Wraps an AI.AIFunction with an IToolArgumentsValidator
check that runs before every call.
A single finding produced by the validation of an agent definition.
A single chunk to write.
A single search result.
A semantic search request.
Names for well-known VoiceDescriptor.Attributes keys. Not exhaustive: a provider may report other safe scalar labels under their own key.
The audio formats that the client can send.
Adds the voice tools to the Tracon chain.
Represents a reserved voice connection slot.
Limits concurrent voice connections per tenant.
VoiceConversationBuilderExtensions
Extensions that enable the real-time voice conversation layer.
Options of the real-time voice conversation layer.
The frame names and the audio formats of the conversation WebSocket.
The immutable facts of a conversation connection.
The definition of an available voice.
The voice provider’s reachability status.
Options of the provider-hosted live voice layer.
Settings for the voice tools.
Defines the configured price for one voice model.
Names of known voice providers.
What one voice conversation cost.
The filter for listing voice session records.
The summary record of a real-time voice connection.
A pending approval or human-input request’s webhook summary.
A single delivery record.
A filter for querying delivery history.
The result of a delivery attempt.
The JSON body of a webhook request.
WebhookEventPayloadJsonContext
The source-generated JSON context for WebhookEventPayloadJsonContext.WebhookEventPayload and its subtypes.
The event types Tracon can publish.
Provides the HttpClient used for webhook delivery, with built-in SSRF protection.
A job’s webhook summary.
An exceeded quota threshold’s webhook summary.
A run’s webhook summary.
The request body for saving a webhook subscription.
A score window threshold’s webhook summary.
Produces and verifies the HMAC-SHA256 signature of webhook requests.
An external system’s event subscription.
The response for the test event.
Validates webhook target addresses against SSRF.
Binds catalog agents to a workflow graph defined in code.
Represents a single checkpoint of a workflow run.
Provides shared constants for checkpoint state.
Represents the full definition of a workflow, whether defined through the UI or in code.
Validates the structural validity of a workflow definition.
Represents a summary view of a workflow listed in the catalog.
Describes a function node registered in code.
Wire-safe view of a registered function node.
Represents a workflow’s compiled graph: nodes, edges, and external request ports.
Represents the connection between two nodes.
Represents a node in the graph.
Points to a single node entering a workflow’s graph: an agent from the catalog, or a function registered in code.
Retries a single workflow function node on a transient provider error instead of failing the whole run.
Represents human input awaited by a workflow run.
Response to a pending human input request.
Represents a response to a pending request.
Request to resume a workflow from a checkpoint.
The information needed to resume a workflow from a checkpoint.
Request to run a workflow.
The information needed to run a workflow.
Request to save a workflow definition.
Structs
Section titled “Structs”The machine-readable result of a call graph validation.
The result of validating an attachment.
The summary of a callable sub-agent, reported to the model.
A conversation branch’s store-level result.
A document attachment’s identifying information, without its content.
The address rules one outbound surface applies to its targets.
The result of validating an outbound target address.
The result of an IMcpToolRefresher.RefreshAsync call.
The resolved set of sub-agents a definition may call, and its cache fingerprint.
Represents the information an event carries before its sequence number and timestamp are assigned.
The result reporting whether a webhook target is safe.
Interfaces
Section titled “Interfaces”The catalog that joins every agent source into a single view. The user interface and the HTTP layer reach agents only through this interface.
A decorator applied to every agent resolved from the catalog. Tracon adds run recording through this mechanism; a consumer can register its own decorator the same way.
The store for agent definitions kept in the database. Versioning and rollback support are required: every save produces a new version, and old versions are not deleted.
The store for a tenant’s run-time skill definitions.
A source the catalog collects agents from. Tracon joins sources declared in code, stored in the database, and registered by the application.
The store for per-tenant API keys.
The cold-storage extension point rows are written to before deletion.
The extension point that stores attachment content in an external store (S3, Blob).
The contract for attachment metadata and for the default (database) content storage.
Resolves the actor (the who) of the current call.
Exposes the real store implementation an audit trail decorator wraps.
The audit trail log.
The extension point that inspects content going to and coming from the model.
Extension point for at-rest encryption of stored content.
The store that branches a conversation by copying it.
Maps a data subject (an end user, in the consumer’s own identity system) to the sessions, runs, and conversations that belong to them.
The data plane that counts, exports, and erases one data subject’s content across the schema.
The extension point that builds the AI.IAgentEvaluator an eval
suite is graded with.
The store for evaluation (eval) suites, cases, and runs.
Defines the store for A/B experiments.
The store for idempotency records.
The store for inbound trigger definitions.
Queues a job for a registered IJobHandler.
The extension point that provides job execution logic for one handler key.
The store for schedule definitions.
The store for queued jobs and their items.
Creates and supervises a provider-hosted live voice session.
The server-side control connection of a live voice session.
The coordinator that manages the OAuth Mode 1 (authorization code) flow for MCP servers.
The client that lists an MCP server’s prompts and resolves their content.
The client that lists and reads an MCP server’s resources.
IMcpResourceContextProviderFactory
The factory that builds an AI.AIContextProvider for
AgentDefinition.McpResourceUris (Mode A).
The store for registered MCP servers.
Refreshes the tool list of remote MCP servers on demand.
Applies the pending migrations of the active SQL persistence provider.
A model provider. Each provider is implemented in its own package (for
example, Tracon.OpenAI) and registered with DI.
IModelProviderConfigurationDiagnostics
Defines optional configuration diagnostics for a model provider.
The optional health-check contract for a model provider.
The registry that keeps registered model providers by name.
The store for pending approval requests.
Decides whether a model-provider failure is retryable on the next fallback link.
The store for quota rules and consumption counters.
The control-plane store for retention policies and run history.
The data plane that counts, batch-deletes, and reads-for-archive over the actual retention data.
Resolves who a run belongs to and what work it was made for.
Decides whether a caller may start a run or read/write a session.
The in-memory registry of runs in progress on this instance; binds an incoming cancellation request to the running run’s CancellationTokenSource.
Converts a raw run error into a class and a clustering fingerprint.
Receives run events as they are written, in addition to IRunStore.
Stores a run’s input messages. The source of replay.
The extension point that scores a completed production run.
Computes the cost from a model+usage pair. Pricing order: the model
catalog, then the Tracon:Pricing configuration.
The store for run and message scores (RunScore).
Store for run records and the event stream.
The store for serialized agent sessions.
The lease store that keeps a named job running on a single instance across the cluster.
The store for skill script execution grants.
A provider that generates speech from text.
A provider that transcribes speech to text.
Defines optional diagnostics for the active SQL persistence provider.
Reads the stored state generations WITHOUT writing anything, so an operator can ask “can this build still read my data” BEFORE upgrading.
Validates a run’s response against the agent’s requested AgentResponseFormat before the run closes.
Resolves the current request’s tenant. In a single-tenant setup, returns a fixed value and requires no additional configuration.
ITenantCredentialModelProvider
A model provider that can build clients from resolved per-tenant credentials.
The store for per-tenant model provider egress policies.
The store for per-tenant model provider bindings (BYOK).
The store for tenant registrations.
Resolves a human-readable presentation for a tool call that is about to publish an
approval request — turning, for example, { "orderId": "ORD-1001" } into
“Cancel order for Priya Shah”.
The store for persistent approval rules.
Validates a tool call’s arguments before the call runs.
Decides whether a tenant/user may call a specific tool.
The registry of tools registered in code.
The store for persisted spans.
The fluent chain that configures Tracon. Returned from the
AddTracon call.
Reports whether the process has begun a graceful shutdown drain.
Source that serves the management UI’s static assets.
The embedding-based semantic search store.
An IAgentSource that can resolve a specific definition version. Only sources that keep a version history implement it. A source without version history need not implement this interface.
Checks the voice provider’s reachability.
Reads the configured voice model’s pricing.
Stores the summary record of real-time voice connections.
The component that publishes an event to its subscriptions.
The store for webhook subscriptions and delivery history.
The store for workflow checkpoints.
The store for workflow definitions stored in the database.
The registry of workflow function nodes registered in code.
Reads the workflow catalog and runs workflows.
Tells where an agent definition came from.
The data kind of an AgentParameter.
The requested format of an agent response.
An authority scope an API key may open.
The status of a pending approval request.
The result of walking a tenant’s audit trail hash chain.
Defines the outcome of a canary evaluation.
The kind of context compaction strategy that can be bound to an agent definition.
The decision a guard can make.
The direction of a content guard check.
Where the text handed to an IContentGuard came from.
The bucket an aligned case falls into within an EvalRunDiff.
The reason an EvalCase was promoted from a production run.
Why two eval runs cannot be compared.
The status of an eval run.
Defines the lifecycle status of an A/B experiment.
The four possible states of an idempotency key.
The outcome of validating an inbound trigger request.
How an inbound trigger’s request body becomes the agent/workflow message.
What kind of target an inbound trigger fires.
The status of a batch job item.
The status of a queued job.
The channel a live append is written to.
How a live model hands heavier work back.
What a live voice sideband event says.
The MCP OAuth authorization flow.
The result status of an OAuth authorization request.
The result status of an MCP request.
The way a connection to an MCP server is made.
A provider’s checked reachability status.
Selects which of the two OpenAI chat APIs is used.
The built-in pattern families for Tracon.PatternContentGuard.
Reports where a run’s cost pricing came from.
A database column IContentProtector can be applied to.
Whether a provider failure should move to the next fallback link.
The metric a quota is exceeded by.
The interval at which a quota’s counter resets.
Which key the rate limit is partitioned by.
How tools are handled during replay.
The kind of access a RunAuthorizationRequest asks about.
A run error’s class.
Event types produced during a run. The user interface maps these directly onto visual elements, so the values must stay stable.
Reports what a runs row records.
Defines the outcome of RunToCasePromoter.PromoteAsync.
Represents the outcome of a replay preparation.
A closed, low-cardinality set of time buckets for a score trend series.
The shape of the value a RunScore carries.
Which target a score belongs to — the filter RunScoreQuery.Target narrows to.
Status of a run.
The kind of access a SessionAuthorizationRequest asks about.
The outcome of a branching attempt.
The source of a speech measurement.
Names a table a state preflight can read.
The bucket width for a time-series query.
The outcome of a code-defined approval policy (ToolApprovalContext).
A comparison operator for a ToolArgumentCondition.
Classifies the blast radius of a tool call.
A span’s OpenTelemetry kind. Values are stored in the database as
smallint; the numbers are stable.
A span’s result status. smallint in the database.
The severity of a ValidationMessage.
The reason a voice connection closed.
The status of a webhook delivery attempt.
Represents the kind of an edge.
Represents the built-in workflow patterns that can be defined through the UI.
Represents the role of a graph node.
Defines how the UI presents a pending request.