Cohesive.Processes.Contracts 0.1.0-alpha.66

This is a prerelease version of Cohesive.Processes.Contracts.
dotnet add package Cohesive.Processes.Contracts --version 0.1.0-alpha.66
                    
NuGet\Install-Package Cohesive.Processes.Contracts -Version 0.1.0-alpha.66
                    
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="Cohesive.Processes.Contracts" Version="0.1.0-alpha.66" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Cohesive.Processes.Contracts" Version="0.1.0-alpha.66" />
                    
Directory.Packages.props
<PackageReference Include="Cohesive.Processes.Contracts" />
                    
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 Cohesive.Processes.Contracts --version 0.1.0-alpha.66
                    
#r "nuget: Cohesive.Processes.Contracts, 0.1.0-alpha.66"
                    
#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 Cohesive.Processes.Contracts@0.1.0-alpha.66
                    
#: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=Cohesive.Processes.Contracts&version=0.1.0-alpha.66&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=Cohesive.Processes.Contracts&version=0.1.0-alpha.66&prerelease
                    
Install as a Cake Tool

Cohesive.Processes.Contracts

Code-generation roots for canonical Process definitions and portable execution-observation documents.

Use When

  • You need generated frontend contracts for exact canonical Process documents.
  • You need the exact wire contracts returned by Process inspect, explanation, or retained-trace endpoints.
  • You need the closed ProcessNode and ProcessAwaitClause unions with runtime discriminator inventories.
  • You are building Process inspection, visualization, or authoring tooling without recreating Process IR in a UI.

The CLR ProcessDefinition, ProcessNode, ProcessAwaitClause, execution status, control result, explanation, and trace declarations remain semantic authority. ExecutionControlResult, ExecutionExplainArtifact, ExecutionStatus, and ProcessExecutionTraceArtifact are generated from those declarations rather than recreated by individual products. The persisted JsonDerivedType metadata owns each closed-union inventory. This assembly only roots those types for generation; it defines no parallel DTOs, node kinds, or execution behavior.

TypeScript Wire Contracts

Generate the focused frontend package from the canonical JSON wire contract:

dotnet run --project src/Cohesive.CodeGen.Cli -- \
  --contracts src/Cohesive.Processes.Contracts/bin/Debug/net10.0/Cohesive.Processes.Contracts.dll \
  --out src/frontend/processes/src/generated \
  --emit shapes \
  --module processes \
  --shape-projection canonical-json \
  --external-shapes Cohesive.Model=@cohesivesystems/relations \
  --union-catalog ProcessNode=canonicalProcessNodeKinds \
  --union-catalog ProcessAwaitClause=canonicalProcessAwaitClauseKinds

The generated runtime catalogs are derived from the same union cases that generate the discriminated TypeScript unions. Adding a CLR construct without a generated disposition therefore makes the committed artifact conformance test fail; consumers do not maintain an independent list.

ExecutionDefinitionDocument.definition intentionally remains unknown: it is the canonical normalized JSON envelope payload. A consumer that has admitted kind: "process" uses the separately generated ProcessDefinition contract to interpret that payload. Strict schema, fingerprint, unknown-field, and activation checks remain owned by the .NET execution-definition serializer and validator.

Types owned by Cohesive.Model, including ValueContract, Expr, and TypeRef, are imported from @cohesivesystems/relations. The Process package does not duplicate that shared portable semantic model.

ASP.NET Process observation endpoints serialize these contracts with the same strict canonical JSON conventions used for generation: lower-camel properties, scalar value objects, string enums, and a closed unknown-field policy. Host JSON naming settings do not redefine that wire contract.

  • Cohesive.Processes for Process authoring, compilation, validation, and interpretation.
  • Cohesive.Relations.Contracts and @cohesivesystems/relations for shared portable semantic-model contracts.
  • Cohesive.CodeGen.Cli for deterministic contract generation.
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

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.1.0-alpha.66 29 8/25/2026
0.1.0-alpha.65 31 8/25/2026
0.1.0-alpha.64 41 8/25/2026
0.1.0-alpha.63 48 8/24/2026