Eternet.Agents.Control.Abstractions
2.0.21
Prefix Reserved
dotnet add package Eternet.Agents.Control.Abstractions --version 2.0.21
NuGet\Install-Package Eternet.Agents.Control.Abstractions -Version 2.0.21
<PackageReference Include="Eternet.Agents.Control.Abstractions" Version="2.0.21" />
<PackageVersion Include="Eternet.Agents.Control.Abstractions" Version="2.0.21" />
<PackageReference Include="Eternet.Agents.Control.Abstractions" />
paket add Eternet.Agents.Control.Abstractions --version 2.0.21
#r "nuget: Eternet.Agents.Control.Abstractions, 2.0.21"
#:package Eternet.Agents.Control.Abstractions@2.0.21
#addin nuget:?package=Eternet.Agents.Control.Abstractions&version=2.0.21
#tool nuget:?package=Eternet.Agents.Control.Abstractions&version=2.0.21
Eternet.Agents.Control.Abstractions
Stable contracts for EAC plugin packages.
Plugins reference this package to expose diagnostics, deterministic code fixes, transformers, and guidance without
taking a dependency on Eternet.Agents.Control.Core or the eac CLI host.
The package targets netstandard2.0 so repo-local and global plugin packages can stay independent from the host runtime
as long as they only use the public abstractions.
Plugin code-fix contracts can declare eligibility metadata, required diagnostic properties, cascade diagnostics, and dry-run plan scope so the host can keep batching, safety gates, and verification host-owned while plugins contribute the domain-specific remediation logic.
Plugin CLI output contracts
Plugin CLI aliases should use the contract that matches the output shape.
EacPluginCliQueryableOutputis for row-oriented results that benefit from dataset querying. V2 commands should declare a stableDefaultDatasetId, boundedDefaultColumns, and anyMaxTopor cache hints the host needs to keep the default response compact.EacPluginCliNonQueryableOutputis for boundedsummaryorpreviewresults. Usepreviewonly when the contract has an explicit positive preview item limit.- If a command really needs nested-object
summary/page/fullbehavior, keep that behavior on a host-owned disclosure surface instead of trying to overload plugin dataset flags.fullstill means the richest bounded page, not an unlimited inline payload.
The paging families are intentionally separate:
- disclosure and simple list paging use
--skip/--take; - dataset querying uses
--dataset,--select,--filter,--orderby,--skip, and--top; --topis not a disclosure alias, and--takeis not a dataset alias.- host-owned alias options stay reserved in plugin manifests: do not declare or shadow
--workspace,--format,--apply,--detail,--search,--skip,--take,--dataset,--select,--filter,--orderby,--top,--count,--persist-result, or--result-id. - host-side output normalization does not require plugin-side changes as long as the plugin remains ABI-compatible with the installed EAC CLI and abstractions package. ABI mismatch errors still require rebuilding and reinstalling the plugin against the current package.
- when one inline page still exceeds the budget, the host emits bounded
budgetInfo/partialInfo, continuation hints, and artifact references instead of the raw oversized payload body.
EacPluginRenderHints remains the DTO for compact dataset previews: default dataset id, default columns, preview row
count, and preferred renderer hints all stay explicit in the contract.
Guidance provider content
IEacGuidanceProvider returns full EacGuidanceDocument instances, and the host derives section metadata from
ContentMarkdown. Guidance providers should therefore author stable section markers inside the markdown instead of assuming
callers will always load the entire document or bypass paging with a legacy flag.
Recommended marker shape:
## Quick Start
Guidance packs should keep section ids stable, provide summaries for migrated sections, and use lowercase comma-separated
tags. The host then keeps guidance search and guidance toc metadata-first, guidance show compact by default, and
guidance show --detail full as the richest projection for the current bounded page. Legacy guidance show --full
remains a compatibility alias for the same bounded behavior.
Workspace edit contracts
IEacWorkspaceEditProvider is the preferred additive contract for providers that can describe repository edits without
writing files directly.
BuildEditSetAsync(...)returns anEacWorkspaceEditSetwith concreteTextEditsandDeleteEditscollections so the contract stays DTO-only and round-trips cleanly fornetstandard2.0consumers.RelativePathvalues are workspace-relative paths only. Providers should not emit rooted paths or paths that escape the workspace.ExpectedOriginalContentHashSha256is an optional optimistic-concurrency token for the original file text before Core applies the edit.EacCodeFixApplicationResult.WorkspaceMutationcarries authoritative mutation evidence when the host computes it. LegacyChangedFilesremains available as a compatibility mirror during migration waves.
EacWorkspaceTextOutput remains in the package only as a legacy compatibility helper while the Core-owned mutation
boundary and first-party plugin migrations complete. New provider work should prefer IEacWorkspaceEditProvider, and
first-party repos now guard new raw System.IO write exceptions with focused policy tests instead of growing new
productive EacWorkspaceTextOutput call sites.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.Text.Json (>= 10.0.10)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Eternet.Agents.Control.Abstractions:
| Package | Downloads |
|---|---|
|
Eternet.Agents.Control.Contracts
Contracts for Eternet.Agents.Control.Contracts API features. |
|
|
Eternet.Agents.Control.Plugins.Assertions
EAC plugin with assertion package migration diagnostics and deterministic code fixes. |
GitHub repositories
This package is not used by any popular GitHub repositories.