EntwineAgents.Intake 0.3.3

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

EntwineAgents.Intake

Turn messy sources into clean, model-safe input.

  • RecordTableReader — one Table abstraction over XLSX, CSV, and OCR'd document text (parses the [TABLE] markdown emitted by EntwineAgents.Ocr), with tolerant header detection (banner rows above the real header are fine) and case/space-insensitive column lookup.
  • DateNormalizer — messy real-world date columns to DateOnly + active/flag signals.
  • PseudonymMap — session-local pseudonymisation: typed, stable tokens (ACCOUNT_01, PARTNER_02, ...) replace real identities before text reaches an LLM, and hydrate back for the human-facing output. The map lives only in memory and dies with the session.
var map = new PseudonymMap();
var safe = map.Scrub("Acme Corp renewal at Globex");   // identities out
var text = map.Hydrate(modelOutput);                    // identities back, for humans only
  • TableShapeClassifier — read a table for what it is. Give it your target schemas (name, columns with synonyms, optional value-shape predicates) and it binds each schema's columns to the table's headers — exact name, synonym, whole-word containment, then the values' shape — and scores every schema; the best complete reading wins. That path is deterministic and free. Only the residue (nothing fits, or a tie) goes to a model through a ShapeResidueCall you supply, with the headers and a few sample rows you scrub; the answer is validated against your schemas and the table's headers, so it cannot invent a column or a header. ColumnMap.Project(table) re-heads the table with your canonical names; Describe() is the "Partner = Reseller · Customer = Account name" line to show a person before anything runs on it.
var engagements = new TargetSchema("Engagements", new[]
{
    SchemaColumn.Of("Partner",  required: true, "Partner name", "Reseller"),
    SchemaColumn.Of("Customer", required: true, "Account", "Client"),
    new SchemaColumn("Start", new[] { "Start date", "Kick-off" }, ValueShape: LooksLikeDates),
}, "one row per piece of partner work on a customer");

var shape = new TableShapeClassifier(new[] { engagements, sourcing, outcomes });
var result = await shape.ClassifyAsync(table,
    residue: (prompt, ct) => chat.CompleteAsync(prompt, ct),   // any chat client; null = deterministic only
    scrub: map.Scrub);                                          // sample rows leave pseudonymised
if (!result.IsUnknown)
    Console.WriteLine($"Read as {result.Best.Schema.Name}: {result.Best.Describe()}");
var canonical = result.Best?.Project(table);                    // headers are now your names

Part of EntwineAgents — a lean, composable agent runtime for .NET.

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.3.3 113 9/20/2026
0.3.2 83 9/20/2026
0.3.1 94 9/20/2026
0.3.0 96 9/20/2026
0.2.0 173 8/6/2026
0.1.2 120 7/15/2026
0.1.1 108 7/15/2026
0.1.0 114 7/15/2026