HPD-Agent.MultiAgent 0.9.2

dotnet add package HPD-Agent.MultiAgent --version 0.9.2
                    
NuGet\Install-Package HPD-Agent.MultiAgent -Version 0.9.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="HPD-Agent.MultiAgent" Version="0.9.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="HPD-Agent.MultiAgent" Version="0.9.2" />
                    
Directory.Packages.props
<PackageReference Include="HPD-Agent.MultiAgent" />
                    
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 HPD-Agent.MultiAgent --version 0.9.2
                    
#r "nuget: HPD-Agent.MultiAgent, 0.9.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 HPD-Agent.MultiAgent@0.9.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=HPD-Agent.MultiAgent&version=0.9.2
                    
Install as a Cake Addin
#tool nuget:?package=HPD-Agent.MultiAgent&version=0.9.2
                    
Install as a Cake Tool

HPD-Agent.MultiAgent

Fluent multi-agent orchestration library built on HPD-Graph. Zero-ceremony agent workflows with unified event streaming.

Install

dotnet add package HPD-Agent.MultiAgent

Use When

Use this package when you need this HPD Agent capability in an agent application.

Agent configuration files

Workflow JSON and YAML can embed an agent configuration or reference an ordinary agent JSON/YAML file with agentFile. Specify exactly one source per node:

name: Evidence review
agents:
  architecture:
    agentFile: agents/architecture.json
  configuration:
    agentFile: agents/configuration.yaml
settings:
  maxConcurrency: 3

Use MultiAgent.FromFile(path), MultiAgentFactory.BuildFromFileAsync(path), or MultiAgentConfigSerializer.ReadFile[Async](path). Relative agent paths resolve against the workflow file's directory. References are resolved at load time; exported workflow snapshots contain the resolved agent configurations. The plain text deserializer does not have a file base path and does not resolve references. Malformed, missing, or ambiguous sources fail rather than falling back to defaults. settings.maxConcurrency bounds concurrently executing nodes in each graph layer.

Structured answers from configuration

A structured node names a concrete host-owned output class using its assembly-qualified name. For example:

name: Evidence review
agents:
  reviewer:
    agentFile: agents/question-reviewer.yaml
    outputMode: Structured
    structuredOutputType: "MyApp.QuestionAnswer, MyApp"
    structuredOutputMode: Native

structuredOutputMode is Native (provider JSON-schema response format) or Tool (an auto-generated answer-submission tool). Neither requires filesystem write/edit tools. The host saves the returned answer. Missing, unknown, or non-concrete output types fail during workflow configuration. A response that produces no final typed result fails the node rather than accepting empty output. The output type and mode are retained in exported workflow snapshots.

Type names are trusted application configuration, not model-selected input. The CLR type and its serialization metadata must be available in the host. The host event composition must also register the closed StructuredResultEvent<QuestionAnswer> contract for typed-result journal persistence (including ephemeral execution). Reuse that codec in the session store; configuring a type name does not install application event contracts.

dynamic type lookup and generic execution require explicit preservation when trimming and are not a guarantee of Native AOT support for arbitrary YAML types.

Per-node run configuration

Reuse one agent definition and vary serializable run settings at the node:

agents:
  reviewer:
    agentFile: agents/reviewer.yaml
    runConfig:
      systemInstructions:
        append: Review only the assigned question and supplied evidence.
      context:
        properties:
          reviewId: review-001

runConfig uses the Agent-owned AgentRunConfig serialization and snapshot path. Live clients, delegates, event codecs, secrets, capability ceilings, and other runtime-only values remain host-owned. Strict parsing rejects retired additionalInstructions and unknown run members. Provider-specific client payloads require the host's generated ProviderComposition.

Trusted host binding

Create one WorkflowHostBinding for provider composition, event composition, session storage, node type resolution, host authorization, and attempt-owned resources:

var host = new WorkflowHostBinding(
    providerComposition,
    eventComposition,
    sessionStore,
    hostSecurity);

var workflow = MultiAgent.FromFile("review-workflow.yaml", host);

The session store must use the exact host event codec. Override BindAttemptAsync when an application needs a node/attempt-owned resource; the returned WorkflowRunBinding is disposed after each attempt, including failure and cancellation. Declarative capability requests can narrow the host ceiling but cannot expand it.

Failures and retries

Stop, Isolate, SkipDependents, and Fallback map to Graph-owned execution semantics. A fallback node is recovery-only, has an explicit output contract, and declares what happens if recovery exhausts:

primary.OnErrorFallback("backup", ErrorMode.Isolate);
backup.RecoveryOnly = true;

Primary and recovery retry budgets are independent. OnlyTransient and RetryableExceptionTypeNames are independent filters and round-trip through configuration. Cancellation is never retried. Collectors can inspect HandlerInputs.SourceResults to summarize isolated failures without treating a failed node as successful output.

Workspace access

Every workspace root states its access explicitly:

{
  "version": 1,
  "defaultRootId": "outputs",
  "roots": [
    { "id": "evidence", "path": "/mounted/evidence", "access": "readOnly" },
    { "id": "outputs", "path": "/mounted/outputs", "access": "readWrite" }
  ]
}

Read-only roots receive no write grant. Write escalation cannot cross a read-only root, and read-only/writable workspace roots may not overlap. Paths are canonicalized through existing symlink ancestors before containment and authorization checks. Host capability ceilings remain authoritative.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.9.2 51 11/2/2026
0.9.1 108 10/21/2026
0.9.0 97 10/20/2026
0.8.1 159 8/6/2026
0.8.0 127 8/5/2026
0.7.0 133 7/19/2026
0.6.0 144 7/4/2026
0.5.5 139 6/21/2026
0.5.0 141 6/11/2026
0.3.3 167 2/25/2026
0.3.2 149 2/25/2026
0.3.1 137 2/24/2026
0.3.0 137 2/24/2026