HPD-Agent.Framework
0.9.1
dotnet add package HPD-Agent.Framework --version 0.9.1
NuGet\Install-Package HPD-Agent.Framework -Version 0.9.1
<PackageReference Include="HPD-Agent.Framework" Version="0.9.1" />
<PackageVersion Include="HPD-Agent.Framework" Version="0.9.1" />
<PackageReference Include="HPD-Agent.Framework" />
paket add HPD-Agent.Framework --version 0.9.1
#r "nuget: HPD-Agent.Framework, 0.9.1"
#:package HPD-Agent.Framework@0.9.1
#addin nuget:?package=HPD-Agent.Framework&version=0.9.1
#tool nuget:?package=HPD-Agent.Framework&version=0.9.1
HPD-Agent.Framework
A middleware-driven agentic AI framework built on Microsoft.Extensions.AI for building intelligent, tool-using agents.
Thread-scoped event subscriptions
Subscriptions without a thread key observe only events owned by that Agent instance. They include
the agent's per-run coordinators, but exclude events originating in independently owned subagents:
using var local = agent.Subscribe<TextDeltaEvent>(evt => Console.Write(evt.Text));
Use the complete (SessionId, ThreadId) key to observe one concrete child invocation:
var child = new ThreadKey(childSessionId, childThreadId);
using var exact = agent.Subscribe<TextDeltaEvent>(child, evt => Console.Write(evt.Text));
Request hierarchy explicitly to supervise an entire branch at every depth. Sibling branches are excluded, and each delivery retains its root-to-origin route:
using var subtree = agent.SubscribeAny(
child,
AgentEventHierarchy.ThreadAndDescendants,
evt => Observe(evt));
Thread-keyed subscriptions exclude threadless events. Live descendant delivery multiplexes events from independent thread journals; it does not merge their journal cursors. Callbacks run on the subscription's mailbox pump, publication does not wait for callback completion, and disposal stops observation without stopping execution or event bubbling. Framework infrastructure that truly needs every owner must opt into global observation explicitly.
Install
dotnet add package HPD-Agent.Framework
Use When
Use this package when you need this HPD Agent capability in an agent application.
Event composition
Agent events need one immutable application schema so live events, durable thread journals, replay, and source-generated Native AOT metadata agree. Applications usually do not configure this manually:
- An executable or a project with
HpdAgentApplication=truegenerates and auto-registers one complete application composition. - A library generates and auto-registers its own event module. When no full
application composition is present,
AgentBuildercomposes the loaded generated modules automatically. - Select with
WithEventApplicationIdentity(...)only when multiple generated applications are loaded into one process. - Supply
WithEventComposition(...)for a custom or intentionally core-only event surface.
Use the builder's session-store helpers, such as
WithInMemorySessionStore() or WithFileSessionStore(path), so the store is
created with the selected composition's codec. A manually created store must use
that same codec.
Pre-1.0 API Evolution
HPD-Agent is still pre-1.0. Until 1.0.0, minor and patch releases may refine
public APIs, persistence shapes, and hosting contracts as the framework settles.
The current conversation model is session-owned threads with event-sourced thread
history.
Session Fork Graph
Use ThreadForkGraph.BuildVisibleForkGroups(...) when rendering thread/fork
navigation. Thread.ForkedFrom is direct lineage; fork groups are semantic
choice points derived from the shared conversation boundary.
| Product | Versions 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. |
-
net10.0
- HPD-Environment.Abstractions (>= 0.8.0)
- HPD-Environment.Runtime (>= 0.8.0)
- HPD-Events (>= 0.9.0)
- HPD-Serialization (>= 0.9.0)
- Microsoft.Extensions.AI (>= 10.11.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.11.0)
- Microsoft.Extensions.Caching.Memory (>= 10.0.13)
- Microsoft.Extensions.Configuration (>= 10.0.13)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.13)
- Microsoft.Extensions.Configuration.Json (>= 10.0.13)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.13)
- Microsoft.Extensions.DependencyInjection (>= 10.0.13)
- Microsoft.Extensions.FileSystemGlobbing (>= 10.0.13)
- Microsoft.Extensions.Http (>= 10.0.13)
- Microsoft.Extensions.Logging (>= 10.0.13)
- NLayer (>= 3.0.0)
- System.Formats.Cbor (>= 10.0.13)
-
net8.0
- HPD-Environment.Abstractions (>= 0.8.0)
- HPD-Environment.Runtime (>= 0.8.0)
- HPD-Events (>= 0.9.0)
- HPD-Serialization (>= 0.9.0)
- Microsoft.Extensions.AI (>= 10.11.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.11.0)
- Microsoft.Extensions.Caching.Memory (>= 10.0.13)
- Microsoft.Extensions.Configuration (>= 10.0.13)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.13)
- Microsoft.Extensions.Configuration.Json (>= 10.0.13)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.13)
- Microsoft.Extensions.DependencyInjection (>= 10.0.13)
- Microsoft.Extensions.FileSystemGlobbing (>= 10.0.13)
- Microsoft.Extensions.Http (>= 10.0.13)
- Microsoft.Extensions.Logging (>= 10.0.13)
- NLayer (>= 3.0.0)
- System.Formats.Cbor (>= 10.0.13)
-
net9.0
- HPD-Environment.Abstractions (>= 0.8.0)
- HPD-Environment.Runtime (>= 0.8.0)
- HPD-Events (>= 0.9.0)
- HPD-Serialization (>= 0.9.0)
- Microsoft.Extensions.AI (>= 10.11.0)
- Microsoft.Extensions.AI.Abstractions (>= 10.11.0)
- Microsoft.Extensions.Caching.Memory (>= 10.0.13)
- Microsoft.Extensions.Configuration (>= 10.0.13)
- Microsoft.Extensions.Configuration.EnvironmentVariables (>= 10.0.13)
- Microsoft.Extensions.Configuration.Json (>= 10.0.13)
- Microsoft.Extensions.Configuration.UserSecrets (>= 10.0.13)
- Microsoft.Extensions.DependencyInjection (>= 10.0.13)
- Microsoft.Extensions.FileSystemGlobbing (>= 10.0.13)
- Microsoft.Extensions.Http (>= 10.0.13)
- Microsoft.Extensions.Logging (>= 10.0.13)
- NLayer (>= 3.0.0)
- System.Formats.Cbor (>= 10.0.13)
NuGet packages (62)
Showing the top 5 NuGet packages that depend on HPD-Agent.Framework:
| Package | Downloads |
|---|---|
|
HPD-Agent.Providers.Anthropic
Anthropic (Claude) provider for HPD-Agent |
|
|
HPD-Agent.Providers.Mistral
Mistral provider for HPD-Agent |
|
|
HPD-Agent.Providers.OpenRouter
OpenRouter provider for HPD-Agent |
|
|
HPD-Agent.Providers.Groq
Groq OpenAI-compatible chat completions provider for HPD-Agent |
|
|
HPD-Agent.Providers.Ollama
Ollama provider for HPD-Agent |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.9.1 | 0 | 10/21/2026 |
| 0.9.0 | 0 | 10/20/2026 |
| 0.8.1 | 999 | 8/6/2026 |
| 0.8.0 | 968 | 8/5/2026 |
| 0.7.0 | 1,067 | 7/19/2026 |
| 0.6.0 | 640 | 7/4/2026 |
| 0.5.5 | 647 | 6/21/2026 |
| 0.5.0 | 638 | 6/11/2026 |
| 0.3.3 | 443 | 2/25/2026 |
| 0.3.2 | 413 | 2/25/2026 |
| 0.3.1 | 424 | 2/24/2026 |
| 0.3.0 | 406 | 2/24/2026 |
| 0.2.0 | 351 | 1/13/2026 |
| 0.1.4 | 576 | 12/9/2025 |
| 0.1.3 | 579 | 12/9/2025 |
| 0.1.1-alpha | 391 | 12/8/2025 |