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
| Package | Role |
|---|---|
Voxta.Sdk.Modules | Module-author APIs — IVoxtaModule, IVoxtaModuleBuilder, ServiceBase, the Add{ServiceType}Service<T> extensions. The package you reference to write a module. |
Voxta.Model | Shared message and model types used in the WebSocket protocol and form definitions — ServiceTypes, ServiceDefinition, the FormField hierarchy, settings sources. |
Voxta.Abstractions | Service interfaces (ITextGenService, IChatAugmentationsService, etc.) and supporting types (sessions, security, registration). Brought in transitively by Voxta.Sdk.Modules. |
Voxta.Common | Shared 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.0→1.5.1) — bug fixes, internal changes, no public API changes. - Minor (
1.5.x→1.6.0) — new APIs added. Existing APIs untouched. Safe to bump without code changes. - Major (
1.x.x→2.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, IVoxtaModuleBuilder | Voxta.Abstractions.Modules |
ServiceBase, the base class for services | Voxta.Abstractions.Services |
ServiceDefinition, ServiceTypes, ServiceDefinitionPricing | Voxta.Abstractions.Registration / Voxta.Model.Shared |
Form fields (FormBooleanField, FormChoicesField, ...) | Voxta.Model.Shared.Forms |
ModuleConfigurationProviderBase, ISettingsSource | Voxta.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.