Voxta docs

SDK

The four NuGet packages that make up the public Voxta SDK.

The Voxta SDK is published on nuget.org under the voxta profile. It is four packages — together they give you everything needed to build a module against a Voxta server.

All packages target net10.0 and follow SemVer. Versions move in lockstep — bump all four together.

Packages

PackageRole
Voxta.Sdk.ModulesModule-author APIs — IVoxtaModule, IVoxtaModuleBuilder, ServiceBase, the Add{ServiceType}Service<T> extensions. The package you reference to write a module.
Voxta.ModelShared message and model types used in the WebSocket protocol and form definitions — ServiceTypes, ServiceDefinition, the FormField hierarchy, settings sources.
Voxta.AbstractionsService interfaces (ITextGenService, IChatAugmentationsService, etc.) and supporting types (sessions, security, registration). Brought in transitively by Voxta.Sdk.Modules.
Voxta.CommonShared utilities (HTTP helpers, Polly policies, common extensions). Brought in transitively.

In practice your .csproj only needs the first two:

<ItemGroup>
    <PackageReference Include="Voxta.Sdk.Modules" Version="1.5.1" />
    <PackageReference Include="Voxta.Model" Version="1.5.1" />
</ItemGroup>

NuGet pulls in Voxta.Abstractions and Voxta.Common transitively.

Versioning

The SDK follows standard SemVer 2.0:

  • Patch (1.5.01.5.1) — bug fixes, internal changes, no public API changes.
  • Minor (1.5.x1.6.0) — new APIs added. Existing APIs untouched. Safe to bump without code changes.
  • Major (1.x.x2.0.0) — breaking changes to public API. Migration may be required.

Modules built against version X of the SDK are forward-compatible with patch and minor server upgrades — Voxta servers ship a newer SDK in their Modules/ folder, and your DLL binds against the loaded version. Major-version bumps may require a recompile.

Target framework

All Voxta SDK packages target net10.0. Voxta server itself targets net10.0. Your module must target net10.0 for the DLL to load.

<TargetFramework>net10.0</TargetFramework>

There is currently no netstandard build. If you need to share code with non-Voxta projects, factor it out into a separate netstandard2.1 library that your module references.

What lives where

If you need…Look in
IVoxtaModule, IVoxtaModuleBuilderVoxta.Abstractions.Modules
ServiceBase, the base class for servicesVoxta.Abstractions.Services
ServiceDefinition, ServiceTypes, ServiceDefinitionPricingVoxta.Abstractions.Registration / Voxta.Model.Shared
Form fields (FormBooleanField, FormChoicesField, ...)Voxta.Model.Shared.Forms
ModuleConfigurationProviderBase, ISettingsSourceVoxta.Abstractions.Registration
Chat session APIs (IChatSessionChatAugmentationApi, ...)Voxta.Abstractions.Chats.Sessions
Service interfaces (ITextGenService, IChatAugmentationsService, ...)Voxta.Abstractions.Services.*

Rider / Visual Studio IntelliSense will resolve any of these once Voxta.Sdk.Modules is referenced. When you don't know the namespace, type the symbol name and let the IDE suggest the import.

Reference example

The voxta-module-elite-dangerous repo is built against the published NuGets — its .csproj is a minimal working template you can copy.

On this page