Skip to content

AgentNet 0.1.0

Latest

Choose a tag to compare

@JordanMarr JordanMarr released this 15 Jun 18:40

AgentNet 0.1.0

This release unifies AgentNet's packages and moves all workflow execution onto the Microsoft Agent Framework.

Package changes

  • AgentNet.InProcess and AgentNet.Durable are unified into a single AgentNet package — agents, the workflow DSL, and both in-process and durable execution now live in one place.
  • The AgentNet.InProcess namespace is preserved, so existing open AgentNet.InProcess code continues to compile.
  • AgentNet.InProcess.Polly (optional resilience decorators) is unchanged.
  • AgentNet.InProcess and AgentNet.Durable are deprecated — use AgentNet.

Execution

  • All workflow execution now runs on the Microsoft Agent Framework, in-process and durable alike.
  • Durable workflows use MAF's native checkpoint/resume model. The Azure Durable Functions (Microsoft.DurableTask) dependency has been removed — durable workflows have no Azure-specific hosting requirement and can run on any host with a checkpoint store.
  • One workflow definition, two execution modes:
    • Workflow.InProcess.run — runs within the current process.
    • Workflow.Durable.start / Workflow.Durable.resume — checkpointed per step, suspended at awaitEvent, and resumed from the checkpoint (across process restarts), persisted via a pluggable ICheckpointStore (in-memory, file system, or your own).
  • awaitEvent is supported in both modes — for human-in-the-loop steps and async service callbacks.

Migration

  • Replace AgentNet.InProcess / AgentNet.Durable package references with AgentNet; open AgentNet.InProcess source is unchanged.
  • For durable workflows, replace the Durable Functions orchestrator and Workflow.Durable.run with Workflow.Durable.start / resume over a checkpoint store. See the Samples.DurableOcr sample for the full pattern.

Versioning

Versioning resets to 0.x while the API stabilizes ahead of 1.0.

Known limitations

  • F# discriminated unions do not yet round-trip through MAF's JSON checkpoint serializer; use records for awaitEvent payloads and other checkpointed data. (NOTE: The latest preview of System.Text.Json natively supports F# DUs, so hopefully this will "just work" when MAF updates to the latest STJ.)
  • Durable resume re-delivers the step following an awaitEvent at-least-once — make post-awaitEvent side effects idempotent (see the sample).