Fuaran.UI.Ops.Abstractions
0.83.0
Prefix Reserved
See the version list below for details.
dotnet add package Fuaran.UI.Ops.Abstractions --version 0.83.0
NuGet\Install-Package Fuaran.UI.Ops.Abstractions -Version 0.83.0
<PackageReference Include="Fuaran.UI.Ops.Abstractions" Version="0.83.0" />
<PackageVersion Include="Fuaran.UI.Ops.Abstractions" Version="0.83.0" />
<PackageReference Include="Fuaran.UI.Ops.Abstractions" />
paket add Fuaran.UI.Ops.Abstractions --version 0.83.0
#r "nuget: Fuaran.UI.Ops.Abstractions, 0.83.0"
#:package Fuaran.UI.Ops.Abstractions@0.83.0
#addin nuget:?package=Fuaran.UI.Ops.Abstractions&version=0.83.0
#tool nuget:?package=Fuaran.UI.Ops.Abstractions&version=0.83.0
Fuaran.UI.Ops.Abstractions
The pure type contract of the Fuaran tree-op apply engine — the TreeOp<'Msg>
DU, the ErrorPayload shape, and the ApplyHint helpers (§4g). FSharp.Core-only
and Fable-portable.
This package exists so consumers that only need the types (Fuaran.UI.Ops.Types
module — op vocabulary, error envelope) don't have to reference the full
Fuaran.UI.Ops package, whose apply engine (Apply.fs) and JSON decoder
(JsonDecode.fs) are a substantial dependency a type-only consumer has no use
for. The split is a layering boundary, not a portability one: Fuaran.UI.Ops
is itself Fable-portable, so a browser (Fable) consumer may reference the whole
package when it genuinely needs decode + apply — it simply need not, and the
decode/apply seam belongs at the host rather than in every consumer's graph.
In particular, Fuaran.UI.Telemetry.Abstractions (which the Fable client
renderer references for IFuaranTelemetrySink) references this package instead
of Fuaran.UI.Ops, so the renderer's Fable graph carries the type contract only.
The module name is preserved (Fuaran.UI.Ops.Types), so open Fuaran.UI.Ops.Types
is unchanged for every consumer — only the assembly the type lives in moved.
Fuaran.UI.Ops takes a package reference on this assembly and re-exports the
types to its apply engine + decoder.
| Product | Versions 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. |
-
net10.0
- Fable.Core (>= 5.0.0)
- FSharp.Core (>= 10.1.300)
- Fuaran.Core.Column (>= 0.24.0)
- Fuaran.Core.DataFrame (>= 0.24.0)
- Fuaran.Core.Tree (>= 0.24.0)
- Fuaran.Core.Validator (>= 0.24.0)
- Fuaran.Core.Wire (>= 0.24.0)
- Fuaran.UI (>= 0.83.0)
NuGet packages (5)
Showing the top 5 NuGet packages that depend on Fuaran.UI.Ops.Abstractions:
| Package | Downloads |
|---|---|
|
Fuaran.UI.Ops
Fuaran tree-op apply engine — §4g op vocabulary + Result-returning apply against typed Node<'Msg> trees, with §4d AI-recovery-shaped error payloads. The JSON decoder is default-deny by shape: an undeclared or malformed emission is refused with a typed DecodeError carrying a stable code and a path, and a payload breaching the wire format's §21 resource limits is refused as LIMIT_EXCEEDED before the recursion that would breach them. Apache-2.0 licensed. |
|
|
Fuaran.UI.Telemetry.Abstractions
Fuaran op-apply + authorizing-runtime-deny telemetry — type contract and sync fire-and-forget sink interface. The observability counterpart to the Fuaran.UI.Ops apply engine and the downstream orchestration tier's authorizing runtime: every applied op surfaces as an OpApplyTelemetry record; every denied tool call surfaces as a DenyTelemetry record. Hosts implement IFuaranTelemetrySink against their own observability backend; the default sinks live in Fuaran.UI.Telemetry.Default. Apache-2.0 licensed. |
|
|
Fuaran.UI.Renderer
Fuaran renderer – Fable + React + Feliz. Every string-to-DOM seam carries a declared sanitisation posture (SANITIZATION.md states it seam by seam): an allowlisted URL-scheme floor on href/src that also rejects the protocol-relative spellings, a positive character gate on extra-attribute names, and a raw-HTML floor over rendered markdown. Interactive dispatch fails closed – a shipped runtime denies until the host grants, and the permissive posture is reached by name. Apache-2.0 licensed. |
|
|
Fuaran.Program.Server.UI
Fuaran.Program.Server.UI — the UI adapter for the server placement of the domain-generic bounded program core: the pre-0.6.0 server names as aliases over the UI witness, and the UI event step (the validation gate in front of the core's dispatch) for the server session, the durable interpreter and the operator controls. .NET only. Released in the same version as the core it instantiates. Apache-2.0 licensed. |
|
|
Fuaran.Program.UI
Fuaran.Program.UI — the UI adapter for the domain-generic bounded program core: the UI witness (the UI tier's action union, node tree, binding store, tree-ops and client effects seen through the core's witness contract), the pre-0.6.0 names as aliases over it, and the UI transport loop (the bounded driver, its channel glue and the client runtime). Fable-clean. Released in the same version as the core it instantiates. Apache-2.0 licensed. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.86.0 | 0 | 9/28/2026 |
| 0.85.0 | 406 | 9/20/2026 |
| 0.84.0 | 414 | 9/17/2026 |
| 0.83.0 | 306 | 9/15/2026 |
| 0.81.0 | 304 | 9/12/2026 |
| 0.80.0 | 477 | 9/9/2026 |
| 0.79.0 | 477 | 9/9/2026 |
| 0.78.1 | 724 | 9/8/2026 |
| 0.78.0 | 332 | 9/7/2026 |
| 0.77.0 | 416 | 9/6/2026 |
| 0.76.0 | 410 | 9/6/2026 |
| 0.75.0 | 458 | 9/4/2026 |
| 0.71.0 | 299 | 9/4/2026 |
| 0.70.0 | 525 | 9/4/2026 |
| 0.46.0 | 379 | 8/28/2026 |
| 0.39.0 | 310 | 8/27/2026 |
| 0.35.0 | 520 | 8/24/2026 |
| 0.32.0 | 399 | 8/23/2026 |
| 0.31.0 | 416 | 8/21/2026 |
| 0.30.0 | 423 | 8/21/2026 |