Nexus.Testing
0.1.2
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Nexus.Testing --version 0.1.2
NuGet\Install-Package Nexus.Testing -Version 0.1.2
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="Nexus.Testing" Version="0.1.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nexus.Testing" Version="0.1.2" />
<PackageReference Include="Nexus.Testing" />
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 Nexus.Testing --version 0.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Nexus.Testing, 0.1.2"
#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 Nexus.Testing@0.1.2
#: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=Nexus.Testing&version=0.1.2
#tool nuget:?package=Nexus.Testing&version=0.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Nexus β Multi-Agent Orchestration Engine
Nexus is an enterprise-grade .NET 10 framework for building, orchestrating, and managing multi-agent AI systems. It provides a composable architecture for agent execution, tool integration, memory management, guardrails, protocol support (MCP, A2A, AG-UI), and workflow orchestration.
π Full Documentation β Architecture guides, API reference, and examples.
Architecture
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Nexus.Hosting.AspNetCore β
β (AG-UI SSE, A2A JSON-RPC, Health) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Nexus.Protocols.Mcp β Nexus.Protocols.A2A β AG-UI β
ββββββββββββββββββββββββββ΄ββββββββββββββββββββββββ΄ββββββββββ€
β Nexus.Workflows.Dsl β
β (JSON/YAML Pipelines) β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Nexus.Orchestration β Nexus.Orchestration.Checkpoint β
β (Graph, Sequence, β (Snapshot Serialization, β
β Parallel, Hier.) β In-Memory Store) β
βββββββββββββββββββββββββ΄βββββββββββββββββββββββββββββββββββ€
β Guardrails β Memory β Messaging β Telemetry βAuthβ
β (PII, Inj.) β (Conv, β (PubSub, β(OTel TracesβOAuthβ
β β Working) β DLQ) β & Metrics) β β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β Nexus.Core β
β Agents Β· Tools Β· Pipeline Β· Events Β· Contracts Β· DI β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Packages
| Package | Description |
|---|---|
Nexus.Core |
Agent abstractions, tool registry, pipeline builder, events, DI configuration |
Nexus.Orchestration |
Graph/sequence/parallel/hierarchical execution, agent pool, task graphs |
Nexus.Orchestration.Checkpointing |
In-memory checkpoint store, JSON snapshot serialization |
Nexus.Memory |
Conversation store, working memory, context window management |
Nexus.Messaging |
In-memory message bus, pub/sub, shared state, dead letter queue |
Nexus.Guardrails |
Prompt injection detection, PII redaction, secrets detection, input limits |
Nexus.Telemetry |
OpenTelemetry traces & metrics for agents and tools |
Nexus.Auth.OAuth2 |
API key authentication, OAuth2 client credentials, token cache |
Nexus.Protocols.Mcp |
Model Context Protocol tool adapter and host management |
Nexus.Protocols.A2A |
Agent-to-Agent protocol client (JSON-RPC over HTTP) |
Nexus.Protocols.AgUi |
AG-UI event bridge for real-time streaming to frontends |
Nexus.Workflows.Dsl |
Load agent pipelines from JSON/YAML with validation & variable resolution |
Nexus.Hosting.AspNetCore |
ASP.NET Core endpoints for AG-UI (SSE) and A2A, health checks |
Nexus.Testing |
Mock agents, tools, event recording, evaluation harnesses |
Quick Start
using Microsoft.Extensions.AI;
using Microsoft.Extensions.DependencyInjection;
using Nexus.Core.Agents;
using Nexus.Core.Configuration;
using Nexus.Core.Tools;
using Nexus.Memory;
using Nexus.Orchestration;
var services = new ServiceCollection();
services.AddNexus(nexus =>
{
nexus.UseChatClient(_ => myLlmClient); // Plug in any IChatClient
nexus.AddOrchestration(o => o.UseDefaults());
nexus.AddMemory(m => m.UseInMemory());
});
var sp = services.BuildServiceProvider();
// Register tools
var tools = sp.GetRequiredService<IToolRegistry>();
tools.Register(new LambdaTool("get_time", "Current UTC time",
(_, _, _) => Task.FromResult(ToolResult.Success(DateTime.UtcNow.ToString("O")))));
// Spawn an agent and execute
var pool = sp.GetRequiredService<IAgentPool>();
var agent = await pool.SpawnAsync(new AgentDefinition
{
Name = "Assistant",
SystemPrompt = "You are a helpful assistant.",
});
var orchestrator = sp.GetRequiredService<IOrchestrator>();
var result = await orchestrator.ExecuteSequenceAsync([
new AgentTask { Id = TaskId.New(), Description = "Hello!", AssignedAgent = agent.Id }
]);
Console.WriteLine(result.TaskResults.Values.First().Text);
Multi-Agent Graph
var graph = orchestrator.CreateGraph();
var research = graph.AddTask(new AgentTask
{
Id = TaskId.New(),
Description = "Research AI trends",
AssignedAgent = researcher.Id,
});
var write = graph.AddTask(new AgentTask
{
Id = TaskId.New(),
Description = "Write blog post",
AssignedAgent = writer.Id,
});
graph.AddDependency(research, write);
await foreach (var evt in orchestrator.ExecuteGraphStreamingAsync(graph))
{
// Handle NodeStarted, AgentEventInGraph, NodeCompleted, etc.
}
Guardrails
using Nexus.Guardrails;
using Nexus.Guardrails.BuiltIn;
var pipeline = new DefaultGuardrailPipeline([
new PromptInjectionDetector(),
new PiiRedactor(GuardrailPhase.Output),
new SecretsDetector(),
new InputLengthLimiter { MaxTokens = 5000 },
]);
var result = await pipeline.EvaluateInputAsync(userInput);
if (!result.IsAllowed)
Console.WriteLine($"Blocked: {result.Reason}");
Workflow DSL
{
"id": "content-pipeline",
"name": "Content Pipeline",
"nodes": [
{ "id": "research", "name": "Researcher", "description": "Research topic",
"agent": { "tools": ["web_search"], "budget": { "maxCostUsd": 1.0 } } },
{ "id": "write", "name": "Writer", "description": "Write content" }
],
"edges": [
{ "from": "research", "to": "write" }
]
}
var loader = sp.GetRequiredService<IWorkflowLoader>();
var workflow = loader.LoadFromString(json, "json");
var validation = sp.GetRequiredService<IWorkflowValidator>().Validate(workflow);
Documentation
Full documentation is in the docs/ directory:
- Getting Started β Installation Β· Quick Start Β· CLI
- Architecture β Overview Β· Core Engine
- Guides β Orchestration Β· Memory Β· Guardrails Β· Messaging Β· Checkpointing Β· Workflows DSL Β· Protocols Β· Telemetry Β· Auth Β· Testing Β· Middleware
- API Reference β Core Β· Orchestration Β· Memory Β· Guardrails Β· Messaging Β· Workflows DSL Β· Protocols Β· Testing
Building & Testing
dotnet build Nexus.sln
dotnet test Nexus.sln
Project Structure
src/
Nexus.Core/ Core abstractions & DI
Nexus.Orchestration/ Agent pool, orchestrator, task graphs
Nexus.Orchestration.Checkpointing/ Snapshot serialization & storage
Nexus.Memory/ Conversation & working memory
Nexus.Messaging/ Message bus & shared state
Nexus.Guardrails/ Input/output guardrails
Nexus.Telemetry/ OpenTelemetry integration
Nexus.Auth.OAuth2/ Authentication & token management
Nexus.Protocols.Mcp/ MCP tool adapter
Nexus.Protocols.A2A/ A2A protocol client
Nexus.Protocols.AgUi/ AG-UI event bridge
Nexus.Workflows.Dsl/ JSON/YAML workflow loader
Nexus.Hosting.AspNetCore/ ASP.NET Core hosting
Nexus.Testing/ Test utilities & mocks
tests/
Nexus.Core.Tests/ 35 unit tests
Nexus.Orchestration.Tests/ 14 unit tests
Nexus.Memory.Tests/ 12 unit tests
Nexus.Messaging.Tests/ 11 unit tests
Nexus.Guardrails.Tests/ 16 unit tests
Nexus.Workflows.Dsl.Tests/ 20 unit tests
Nexus.Integration.Tests/ 9 integration tests + 15 unit tests
examples/
Nexus.Examples.Minimal/ Single agent with tools & guardrails
Nexus.Examples.MultiAgent/ Graph orchestration, checkpointing, workflows
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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.
-
net10.0
- Microsoft.Extensions.AI.Abstractions (>= 9.5.0)
- Microsoft.Extensions.DependencyInjection (>= 9.0.0)
- Nexus.Core (>= 0.1.2)
- Nexus.Orchestration (>= 0.1.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.