.NET API
Tracon
Namespaces
Section titled “Namespaces”Classes
Section titled “Classes”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.
The agent an IAgentExtension is configuring: the definition, the tenant, the one options object the compiler is about to build the agent from, and the wrappers and chat client rings the extension adds.
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.
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.
Manages the lifecycle of named sessions: loads, restores, and saves them through ISessionStore.
A markdown-based skill definition that can be loaded into an agent at run time.
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 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.
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 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.
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.
The criteria that scope a hash chain verification.
The result of verifying one tenant’s audit trail hash chain.
A row in the audit trail that records who changed which entity and when.
The criteria that filter an audit trail query.
AzureOpenAIImageBuilderExtensions
Adds Azure OpenAI image generation to the Tracon chain.
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.
One agent another agent may call, and the version of it that runs.
Options for the canary evaluation background service.
Defines automatic rollback and gradual traffic-increase rules for an experiment canary variant.
Wraps a sub-agent an agent may call; enforces depth, budget, and tenant limits and links the sub-run into the tree.
The result of a single client-side tool call, sent back so the run can continue.
Determines how an agent compacts its conversation history.
Caches compiled agents keyed by
(tenant, name, definition fingerprint, dependency fingerprint, culture),
holding one entry per (tenant, name, definition fingerprint, culture).
Reports whether a configuration key resolves. It does not carry the value.
The context of an IContentGuard call.
The result of an IContentGuard check.
A data subject’s exported content.
The sessions, runs, and conversations that belong to one data subject.
The built-in IRunAttributionContext. It reports whatever AmbientRunAttributionScope carries, and nothing otherwise.
Tracon’s built-in error classifier.
The provider name the built-in ElevenLabs client reports, and the
ProviderSettings keys it accepts on SpeechRequest and
SpeechDialogueRequest.
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.
The result of a single EvalCase within an EvalRun.
A tool call an EvalCase expects the agent to make.
A single execution record and summary of an EvalSuite.
The information needed to finalize a run.
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.
An evaluation (eval) suite defined for an agent: carries which agent is measured, with which checks.
Represents an A/B experiment that splits traffic between two or more definition versions of the same agent.
Defines a query for experiment results.
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.
Adds Google image generation to the Tracon chain.
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.
Adds Google Gemini speech to the Tracon chain.
Settings of GoogleSpeechBuilderExtensions.UseGoogleSpeech.
Settings for the harness capabilities. It mirrors a safe subset of the
HarnessAgentOptions structure of Microsoft Agent Framework.
What the factory of a hosted tool (AddHostedTool) learns about the agent it builds the
tool for.
Defines the configured price of one hosted tool kind at one provider.
Resolves the tenant from the current HTTP request.
An idempotency reservation request.
The result of an IIdempotencyStore.ReserveAsync call.
The stored HTTP response.
Defines the configured price for one image-generation model.
An inbound trigger definition: an external event that starts a queued run.
The information needed to finalize a job.
The context available during an IJobHandler execution.
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.
What a worker asks of IJobStore.LeaseAsync: who it is, how long the lease lasts, which lanes it serves and, optionally, a per-tenant ceiling.
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.
A ceiling on how many jobs of a set of handler keys one tenant may hold leased at the same time.
One named score produced by an IRunJudge.
The settled outcome of a tool call whose timeout had already been reported.
Text sent into a live conversation’s context.
The request that attaches the server-side control connection to a live voice session.
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 result of creating a live voice session.
The settings of one 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.
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.
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.
The output token limit a provider’s chat client sends when ModelBinding.MaxOutputTokens is empty.
Defines a configured price override for one model.
A resolved, in-memory credential used to call a provider (a model, live voice or speech 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.
Registry that holds the registered IModelProvider implementations by name, and the single place that assembles the model-call pipeline.
Helpers that read and validate a provider settings dictionary: the
ModelBinding.ProviderSettings of a model binding, and the
ProviderSettings of a speech request.
Options for the built-in model-based judge (Tracon.ModelRunJudge).
One non-token item a workflow function node reported: the persistent record behind
GET /api/runs/{runId}/usage.
Online evaluation settings.
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.
Extensions that add the OpenAI provider to the Tracon chain.
The provider names that the UseOpenAI call registers, and the
ModelBinding.ProviderSettings keys.
The OpenAI provider options of Tracon.
Adds OpenAI speech to the Tracon chain.
Settings of OpenAISpeechBuilderExtensions.UseOpenAISpeech.
Settings for the built-in pattern-based guard.
The pending tool approval request of a run that executes from the queue.
Whether the catalog can actually put a price on a run.
The answer one production profile check gives.
Summarizes diagnostics for a model provider.
The consumption of a completed run to add to the quota counters.
A quota rule defined for a tenant or an agent.
A filter for querying quota usage.
A scope’s consumption in the current period.
Response caching settings for a ModelBinding.
The response schema as a provider’s client sends it to the model, and what differs from the schema the author wrote.
An age- and volume-based retention rule for a target.
The history record of a cleanup run.
Defines a configuration-based retention default for one target.
The fixed table list a retention policy may target.
An agent’s run summary.
Describes one run awaiting an authorization decision.
The outcome of an authorization decision.
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.
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.
A run’s stored 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.
What a run spent that is not tokens: the amounts its workflow function nodes and its tools reported, added up in one currency.
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.
What a run actually records, as configured.
A replay request.
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.
The one place a run’s token cost and its reported (non-token) amount are added.
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.
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.
A semantic search request.
Describes one session access awaiting an authorization decision.
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.
One skill script that passed every execution gate, as handed to an ISkillScriptExecutor.
What one skill script run did, as an ISkillScriptExecutor reports it.
The record carrying permission to execute a skill script.
Settings for how an agent uses the skills it names in AgentDefinition.SkillNames.
One character’s position in the generated audio.
Generated audio.
The audio of a dialogue and the time range of each turn.
The limits of one dialogue request, as the provider states them.
A request to voice a dialogue.
The time range one turn takes in a dialogue’s audio.
One turn of a dialogue: a text and the voice that speaks it.
A registered speech provider, as the speech provider list reports it.
A text-to-speech generation request.
Binds a Microsoft.Extensions.AI speech-to-text client in the container to a named
Tracon speech transcriber.
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.
StructuredResponseValidationContext
The response an IStructuredResponseValidator checks.
StructuredResponseValidationResult
The outcome of a structured response validation check.
Determines how an agent calls the agents it may call, and how long it waits for them.
Defines span and metric tag names. Changing them breaks dashboards.
A registered tenant.
The set of providers a tenant’s data is allowed to reach (egress policy).
Binds a tenant to a provider’s credential, by name only.
Binds a Microsoft.Extensions.AI text-to-speech client in the container to a named
Tracon speech synthesizer.
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.
A human-readable projection of one tool-approval request, produced by a consumer’s IToolApprovalPresenter.
A persistent approval rule for a tool call the user said “do not ask again” for.
One comparison against a tool call argument: path · operator · value.
The outcome of a tool arguments validation check.
Describes one tool call awaiting an authorization decision.
The outcome of an authorization decision.
A non-token measurement and its cost: one tool call’s, or one item a workflow function node reported.
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 answer to one request for user input that suspended a tool call (MCP elicitation).
The summary of a single completed tool call.
Tool-call loop settings for a ModelBinding.
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.
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.
TraconBuilderConversationMemoryExtensions
Setup of conversation memory.
The registration methods of the Tracon configuration chain that
AddTracon returns.
TraconChildRunTimeoutException
Thrown when an agent step of a workflow does not answer within the sub-agent wait limit.
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.
TraconConversationMemoryOptions
Setup for conversation memory (MemorySettings.EnableConversationMemory), set with
UseConversationMemory.
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.
Every machine-readable error code Tracon writes: the type of a failed run, the code of a job the
queue failed, and the error.type of an OpenAI-compatible error body.
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.
Finish reasons Tracon reads beyond the ones AI.ChatFinishReason defines.
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).
TraconLoopUnsatisfiedException
Thrown when a harness loop reaches its iteration ceiling while a criterion still asks for another iteration, and its LoopSettings.OnExhausted is LoopOutcome.FailRun.
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.
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.
TraconOutputTruncatedException
Thrown when the model stops at its output token limit before a structured (JSON) response is complete.
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.
TraconProductionProfileOptions
The risks a deployment has deliberately decided to carry, for
RequireProductionProfile.
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.
TraconRunBudgetExceededException
Thrown when a run tree’s budget runs out: its token or cost budget between two model turns, or a workflow step or function node that the budget refuses to start.
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.
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.
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).
TraconTenantProviderRefusedException
Thrown when a tenant’s provider rules refuse a call before it leaves the process.
TraconTenantQuotaExceededException
Thrown when a tenant’s quota period is spent and a run tree that is already running is refused new work: a workflow function node or an agent step that has not started.
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.
TraconWorkflowContextExtensions
What a function node reads from, and reports to, its workflow run: the run’s parameter values and the non-token usage it spent.
TraconWorkflowFunctionExtensions
Extensions that register a code function as a workflow node.
TraconWorkflowFunctionTimeoutException
Thrown when a function node of a workflow does not return within its timeout.
Settings that control workflow execution.
TraconWorkflowsBuilderExtensions
Extensions that register workflow execution.
Limits of the session workspace (WorkspaceSettings).
A single ready-made chunk in an upload request.
Request to upload a document.
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.
Adds the voice tools to the Tracon chain.
VoiceConversationBuilderExtensions
Extensions that enable the real-time voice conversation layer.
Options of the real-time voice conversation layer.
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.
What one voice conversation cost.
The filter for listing voice session records.
The summary record of a real-time voice connection.
A single delivery record.
A filter for querying delivery history.
The result of a delivery attempt.
The event types Tracon can publish.
Produces and verifies the HMAC-SHA256 signature of webhook requests.
An external system’s event subscription.
Binds catalog agents to a workflow graph defined in code.
The settings of one agent step in a workflow graph built in code, passed to WorkflowAgentBinding.GetWorkflowAgentStep.
Represents a single checkpoint of a workflow run.
Represents the full definition of a workflow, whether defined through the UI or in code.
Represents a summary view of a workflow listed in the catalog.
Binds functions registered with AddWorkflowFunction to a workflow graph defined in code.
The optional settings of a workflow function registered with
AddWorkflowFunction: its description, retry policy, timeout, how many calls may run at
once and whether it starts when the call tree’s budget is spent.
The settings of one function node in a workflow graph built in code, passed to WorkflowFunctionBinding.GetWorkflowFunction.
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.
The settings of a workflow defined in code, passed to TraconWorkflowsBuilderExtensions.AddWorkflow.
The filter and the page of a listing of a tenant’s open human requests.
One request a workflow run waits on, as the inbox stores it.
Represents a response to a pending request.
The outcome of recording an answer that may claim a request.
One answer to a workflow’s pending human request.
The information needed to resume a workflow from a checkpoint.
The information needed to run a workflow.
Settings for the session workspace of an agent: a file area that belongs to one conversation, where the agent lists, reads, searches, writes, edits and deletes files.
Structs
Section titled “Structs”The summary of a callable sub-agent, reported to the model.
A conversation branch’s store-level result.
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.
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.
A named piece of code that reaches the Microsoft Agent Framework options the compiler builds for an agent. A definition selects it by IAgentExtension.Name in AgentDefinition.ExtensionNames.
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.
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.
An optional interface of an IModelProvider that states which HostedToolKind values its API surface runs.
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 store for registered MCP servers.
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.
Answers one production decision while the host starts, for
RequireProductionProfile.
Decides whether a model-provider failure is retryable on the next fallback link.
The store for quota rules and consumption counters.
An optional interface of an IModelProvider that states which response schema its client sends to the model for a binding.
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.
An optional interface of an IModelProvider that states which SamplingFields its API surface sends to the model.
The store for serialized agent sessions.
The lease store that keeps a named job running on a single instance across the cluster.
Starts a skill script that already passed every execution gate, and reports what it did. Register your own implementation to run scripts somewhere other than the Tracon host: a container, a micro-VM, or a remote runner service.
The store for skill script execution grants.
A speech provider that voices a dialogue: an ordered list of turns, each spoken by its own voice, in one request and one audio result.
Returns a speech provider by name, after the calling tenant’s provider checks.
A provider that generates speech from text.
A provider that transcribes speech to text.
Defines optional diagnostics for the active SQL persistence provider.
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 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.
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 store for webhook subscriptions and delivery history.
The store for workflow checkpoints.
The store for workflow definitions stored in the database. Every save produces a new version, old versions are not deleted, and a rollback writes an old version’s content back as a new one.
The inbox of a tenant’s open workflow requests: one row per request a run is waiting on, with the time the request expires and whether somebody answered it.
Where the answers to a workflow’s pending human requests are recorded: which run answered which request of which run, who answered, and whether the single answer a WorkflowResponseMode.SingleAnswer workflow allows is already taken.
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.
Where a chat client ring that an agent extension adds sits in the agent’s model pipeline.
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.
When an agent searches its conversation memory (EnableConversationMemory).
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.
How a Gemini dialogue request names its speakers.
The kinds of tool a model provider runs on its own side, which a host registers in code
with AddHostedTool.
The HostedToolKind values a provider’s API surface can run, as a set.
The four possible states of an idempotency key.
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.
What a harness loop does when it ends without every criterion satisfied: return the last response, or fail the run.
The MCP OAuth authorization flow.
The way a connection to an MCP server is made.
A provider’s checked reachability status.
The built-in pattern families for Tracon.PatternContentGuard.
Reports where a run’s cost pricing came from.
What a production profile check found.
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.
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 request fields of ModelBinding whose support depends on the provider’s API surface.
The kind of access a SessionAuthorizationRequest asks about.
Where the content of a skill script came from.
The kind of a registered speech provider.
The source of a speech measurement.
How an agent calls the agents it may call (CallableAgents).
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.
What the user did with a request for input that suspended 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.
One production decision the profile gate refuses to leave unanswered.
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.
Which of the open human requests of a tenant a listing returns.
Whether a run still waits on a request.
How a workflow treats more than one answer to the same pending human request.
The state of a recorded answer.