ControlAgentNet.Core 0.1.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package ControlAgentNet.Core --version 0.1.0
                    
NuGet\Install-Package ControlAgentNet.Core -Version 0.1.0
                    
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="ControlAgentNet.Core" Version="0.1.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ControlAgentNet.Core" Version="0.1.0" />
                    
Directory.Packages.props
<PackageReference Include="ControlAgentNet.Core" />
                    
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 ControlAgentNet.Core --version 0.1.0
                    
#r "nuget: ControlAgentNet.Core, 0.1.0"
                    
#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 ControlAgentNet.Core@0.1.0
                    
#: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=ControlAgentNet.Core&version=0.1.0
                    
Install as a Cake Addin
#tool nuget:?package=ControlAgentNet.Core&version=0.1.0
                    
Install as a Cake Tool

ControlAgentNet.Core

Core contracts and neutral models for ControlAgentNet - the foundation every package builds upon.


Purpose

ControlAgentNet.Core defines the shared abstractions that all other packages depend on. This enables:

  • Modularity - Any package can reference Core without pulling in extra dependencies
  • Extensibility - Third parties can build new implementations
  • Consistency - All packages share the same types and interfaces

What's in Core

Interfaces

Interface Description
IAgentOrchestrator Main entry point for agent processing
IAgentEngine Cognitive execution of AI interactions
IAgentMiddleware Pipeline component for request/response processing
IToolGuard Tool execution policy enforcement
IApprovalStore Human-in-the-loop approval persistence

Models

Model Description
IncomingMessage User input to the agent
OutgoingMessage Agent response
AgentContext Runtime context passed through middleware
ToolExecutionRequest Tool invocation context
ToolGuardDecision Guard evaluation result
PolicyValue Tool/channel enable/disable/approval states
PolicyContext Scoping for policy resolution

Descriptors

Descriptor Description
ToolDescriptor Tool metadata (id, name, risk level, etc.)
ChannelDescriptor Channel metadata (id, transport, etc.)
CapabilityRiskLevel Risk classification (Low, Medium, High, Critical)

Why These Types?

Design Principle: Core Stays Lean

Core contains only types that need to be shared across packages:

┌─────────────────────────────────────────┐
│            ControlAgentNet.Core            │
│  (interfaces, models, descriptors)     │
└─────────────────────────────────────────┘
         ▲          ▲          ▲
         │          │          │
    Policies    Runtime     Guards
    (stores)    (orch)    (enforce)

Core knows nothing about:

  • Database connections
  • HTTP clients
  • Specific AI providers
  • Channel implementations

This keeps Core lightweight and focused on contracts.


Extending Core

Third parties can create new implementations:

// Create a custom engine
public sealed class MyCustomEngine : IAgentEngine
{
    public Task<AgentEngineResult> RunAsync(AgentContext context, CancellationToken ct)
    {
        // Custom AI logic
        return Task.FromResult(AgentEngineResult.FromText("Hello from my custom engine"));
    }

    public IAsyncEnumerable<string> StreamAsync(AgentContext context, CancellationToken ct)
    {
        // Streaming support
    }
}

// Register it
builder.Services.AddSingleton<IAgentEngine, MyCustomEngine>();

RunAsync returns AgentEngineResult so engines can surface response text plus optional metadata such as model id, finish reason, and token usage.


Versioning

Core follows semantic versioning. Once v1.0.0 is released:

  • Breaking changes = major version bump
  • New features = minor version bump
  • Bug fixes = patch version bump

Dependencies

Zero external dependencies. Core is pure .NET:

<PropertyGroup>
  <TargetFramework>net10.0</TargetFramework>
  <ImplicitUsings>enable</ImplicitUsings>
  <Nullable>enable</Nullable>
</PropertyGroup>

This ensures Core can be referenced by any package without version conflicts.


Product 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.

NuGet packages (10)

Showing the top 5 NuGet packages that depend on ControlAgentNet.Core:

Package Downloads
ControlAgentNet.Runtime

Runtime orchestration, middleware pipeline, and DI composition for ControlAgentNet agents.

ControlAgentNet.Channels.Telegram

Telegram bot channel for ControlAgentNet agents with polling and webhook modes.

ControlAgentNet.Agents

Base facade package for ControlAgentNet agents on .NET 10 using the default Microsoft Agents stack.

ControlAgentNet.Guards

Core tool execution guards for ControlAgentNet.

ControlAgentNet.Policies

Core policy abstractions, scoped policy contracts, and audit contracts for ControlAgentNet.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.1.10 123 5/7/2026
0.1.7 255 4/21/2026
0.1.6 152 4/18/2026
0.1.5 96 4/18/2026
0.1.1 385 4/14/2026
0.1.0 106 4/14/2026