Fuaran.UI.AiTools 0.75.0

Prefix Reserved
There is a newer version of this package available.
See the version list below for details.
dotnet add package Fuaran.UI.AiTools --version 0.75.0
                    
NuGet\Install-Package Fuaran.UI.AiTools -Version 0.75.0
                    
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="Fuaran.UI.AiTools" Version="0.75.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Fuaran.UI.AiTools" Version="0.75.0" />
                    
Directory.Packages.props
<PackageReference Include="Fuaran.UI.AiTools" />
                    
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 Fuaran.UI.AiTools --version 0.75.0
                    
#r "nuget: Fuaran.UI.AiTools, 0.75.0"
                    
#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 Fuaran.UI.AiTools@0.75.0
                    
#: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=Fuaran.UI.AiTools&version=0.75.0
                    
Install as a Cake Addin
#tool nuget:?package=Fuaran.UI.AiTools&version=0.75.0
                    
Install as a Cake Tool

Fuaran.UI.AiTools

Runtime-introspection AI tools for Fuaran trees — the §4i tool surface a downstream AI consumer calls to observe what the renderer did with its emitted tree.

Four read-only tools, deterministic contract (same inputs → same observable state):

  • Tools.getNodeState — id, kind, resolved props, resolved binding values, current state, geometry. Filterable via IncludeKey.
  • Tools.getBindingValue — a single Binding-typed slot's resolved value.
  • Tools.getRenderedDom — geometry tree (x, y, width, height, overflowing) rooted at a node; child geometry follows the typed-tree children.
  • Tools.getRuntimeErrors — FIFO drain of ErrorEntry records since an optional turn watermark.

Standalone posture

Depends on Fuaran.UI + Fuaran.UI.Ops + FSharp.Core only — no Fable / Feliz / forge substrate. The orchestrator runs server-side (.NET), so the package targets .NET; the pure tree-introspection helpers are reflection-free (Fable-compat by construction, mirrors the Fuaran.UI.Ops.Introspect shape).

Seams (injectable read-only ports)

  • IGeometryProbe — tryGetGeometry: NodeId -> Geometry option. Default NoGeometryProbe returns None (suitable for .NET tests + the orchestrator pre-renderer-mount phase). Browser-side implementations bridge to React refs / getBoundingClientRect and live in the consumer (renderer adapter).
  • IRuntimeErrorSink — Record + Drain (turnId option). Default InMemoryRuntimeErrorSink is a thread-safe FIFO; consumers replace it with their own buffer-management strategy (per-turn ring buffer, persistent log, etc.). The renderer writes binding-resolution errors / unwired-action warnings here; Fuaran.UI.AiTools.Tools.getRuntimeErrors drains them.
  • IIntrospectionClock — Now: unit -> DateTimeOffset. Default FixedClock(epoch) returns the seeded epoch so introspection results are byte-stable across runs; the orchestrator wires a real clock in production and a seeded clock in debug sessions per §4i determinism contract.

What's deferred to follow-ons

  • Real expression strings ($queries.totalRevenue.amount) for the Binding.Query accessor — v1 emits $queries.<name> and documents the accessor-path omission. Recovering the accessor's dot-path requires either source-side metadata (Phase 25c manifest substrate) or reflection.
  • Theme-aware DOM (concrete CSS classes / computed styles via the §4n theme function) — geometry probe stays renderer-side; this package's contract is the rectangle + overflow flag, not the rendered HTML body.
  • simulateInteraction / runEvalAssertions / applyOps / beginDebugSession — the remaining six §4i tools. applyOps is already covered by Fuaran.UI.Ops; the rest sequence into Phase 12 follow-up sessions + downstream AI-consumer work.

See the workspace roadmap entry for Phase 12 (Fern → Fuaran carve-out) for the phase-scoped tasks and acceptance criteria.

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.94.0 71 10/14/2026
0.93.0 84 10/10/2026
0.92.0 96 10/6/2026
0.91.0 95 10/4/2026
0.90.0 82 10/2/2026
0.88.0 93 9/30/2026
0.86.0 93 9/28/2026
0.85.0 95 9/20/2026
0.84.0 92 9/17/2026
0.83.0 93 9/15/2026
0.81.0 97 9/12/2026
0.80.0 122 9/9/2026
0.79.0 104 9/9/2026
0.78.1 110 9/8/2026
0.78.0 114 9/7/2026
0.77.0 107 9/6/2026
0.76.0 111 9/6/2026
0.75.0 105 9/4/2026
0.71.0 101 9/4/2026
0.70.0 107 9/4/2026
Loading failed