Tracon.Abstractions 1.0.0-preview.3

Prefix Reserved
This is a prerelease version of Tracon.Abstractions.
dotnet add package Tracon.Abstractions --version 1.0.0-preview.3
                    
NuGet\Install-Package Tracon.Abstractions -Version 1.0.0-preview.3
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Tracon.Abstractions" Version="1.0.0-preview.3" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Tracon.Abstractions" Version="1.0.0-preview.3" />
                    
Directory.Packages.props
<PackageReference Include="Tracon.Abstractions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Tracon.Abstractions --version 1.0.0-preview.3
                    
#r "nuget: Tracon.Abstractions, 1.0.0-preview.3"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Tracon.Abstractions@1.0.0-preview.3
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Tracon.Abstractions&version=1.0.0-preview.3&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Tracon.Abstractions&version=1.0.0-preview.3&prerelease
                    
Install as a Cake Tool

Tracon.Abstractions

The contracts every other Tracon package is written against.

This package holds interfaces, records, and enums — no behaviour. It depends on no model provider, no web framework, and no database, which is what lets a storage or provider implementation live outside this repository without dragging the runtime along with it.

You normally do not install this package directly. Tracon.Core already brings it. Reference it on its own when you are writing an implementation of one of the contracts below and want to depend on the seam rather than the runtime.

dotnet add package Tracon.Abstractions --prerelease

What is in here

85 public interfaces among 404 exported public types. The ones a consumer actually implements fall into four groups.

Storage seams

Every one of them is implemented twice inside Tracon — once in memory (Tracon.Core) and once per SQL provider — so a third implementation has two working references.

Interface Holds
IRunStore Run rows and their event streams
IAgentDefinitionStore Agent definitions and their version history
ISessionStore Sessions and their provider state
IAttachmentStore / IAttachmentStorage Attachment descriptors and their bytes
IJobStore / IJobScheduleStore The work queue and its cron schedules
IEvalStore / IExperimentStore Eval suites, cases, runs; A/B experiments
IAuditLog The append-only governance trail
IQuotaStore / IRetentionPolicyStore Limits and cleanup policies
IWebhookStore / IApiKeyStore Subscriptions and hashed API keys
IVectorSearchStore Knowledge chunks and their embeddings

Writing a third implementation of one of these? Tracon.Testing.Contracts.Xunit packages the same behavior tests the shipped implementations run — see Write your own store.

Extension points

Interface Called when
IAgentSource The catalog is built — this is how agents from a source of your own appear
IModelProvider An agent needs an IChatClient
IToolRegistry A definition's tool names are resolved
IContentGuard Content enters or leaves a run and may be blocked
IRunJudge A finished run is scored automatically
IAgentDecorator An AIAgent is wrapped before it runs
IJobHandler A job of your own kind is leased from the queue

Ambient context

ITenantContext is the one to know: nearly every store method takes a tenant id, and this is where it comes from. In a single-tenant application the default implementation returns a fixed value and nothing else changes.

Identity and errors

TraconId.NewId() produces UUID version 7 — time-ordered, so rows written in sequence stay clustered in an index instead of scattering the way version 4 does. TraconException is the base of every exception the runtime raises for an expected failure. Catch the base type to handle them all, or a derived one to react to a specific case: TraconCompilationException (a definition does not compile), TraconProviderUnavailableException (the circuit is open), TraconContentFilteredException / TraconContentBlockedException (the provider's filter versus your own guard — deliberately separate, because the operator response differs), TraconSessionConflictException, and TraconExternalCallException. Database driver exceptions are not wrapped.

Compatibility

Targets net8.0, net9.0, and net10.0. Trimming- and AOT-compatible: no reflection, no dynamic code, zero analyzer warnings.

Stability

Tracon has not shipped a 1.0 yet, and these contracts are still moving. A change here breaks every implementation of the seam it touches, so each one is recorded in the repository's decision log before it is made.

License: MIT - this package is deliberately permissive so that writing and testing an extension never needs a commercial licence. Most Tracon packages are PolyForm Small Business 1.0.0. Details: https://tracon.dev/reference/licensing/

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (2)

Showing the top 2 NuGet packages that depend on Tracon.Abstractions:

Package Downloads
Tracon.Core

Tracon core runtime. Agent catalog, definition compiler, tool registry, run recording, and in-memory storage. Requires no database.

Tracon.Testing.Contracts.Xunit

Behavior contract suites for Tracon extension points, as xunit.v3 test base classes: store interfaces (IRunStore and 29 others), IModelProvider, IRunJudge, IAgentSource, IJobHandler, and code-defined custom tools. A third-party implementation derives one class per interface and inherits the same scenarios the shipped implementations run.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.0-preview.3 70 9/24/2026
1.0.0-preview.2 141 9/20/2026
1.0.0-preview.1 125 9/20/2026