Skip to content

AgentPrismDiagnosticsReport

Namespace AgentPrism · Assembly AgentPrism.Abstractions.dll

Reports the self-diagnostics of the installation.

public sealed record AgentPrismDiagnosticsReport : IEquatable<AgentPrismDiagnosticsReport>

objectAgentPrismDiagnosticsReport

IEquatable<AgentPrismDiagnosticsReport>

object.GetType(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()

This type does not carry a secret. It has no connection string, API key, or credential fields. It only carries whether configuration resolved.

AgentPrismDiagnosticsCollector in AgentPrism.Core creates this report. It makes no model call and applies no migration. It only reads the current state.

public AgentPrismDiagnosticsReport()

Gets the number of registered agents. Returns null when the catalog cannot be read.

public required int? AgentCount { get; init; }

int?

null and 0 are different. This report must describe a broken installation. A catalog query fails when AutoApplyMigrations=false and the schema is not applied yet. Returning 0 would incorrectly state that no agents exist; null states that counting failed. The remaining report, especially AgentPrismDiagnosticsReport.PendingMigrations, is still populated.

Gets whether the active SQL provider can connect. Returns true without an SQL provider.

public required bool CanConnect { get; init; }

bool

Gets the resolution status of configuration keys required by registered providers.

public required IReadOnlyList<ConfigurationDiagnostic> Configuration { get; init; }

IReadOnlyList<ConfigurationDiagnostic>

Gets whether no migrations are pending. Returns true without an SQL provider.

public required bool MigrationsUpToDate { get; init; }

bool

Gets the last known status of each registered model provider.

public required IReadOnlyList<ProviderDiagnostic> ModelProviders { get; init; }

IReadOnlyList<ProviderDiagnostic>

Gets the pending migration names. The list is empty when there is no SQL provider or all migrations are applied.

public required IReadOnlyList<string> PendingMigrations { get; init; }

IReadOnlyList<string>

Gets the name of the active persistence provider, for example PostgreSQL or InMemory.

public required string PersistenceProvider { get; init; }

string

Gets the number of registered SQL persistence providers. More than 1 indicates a setup defect: the last call wins and silently disables the others.

public required int RegisteredPersistenceProviders { get; init; }

int

Gets the number of registered tools.

public required int ToolCount { get; init; }

int

Gets whether the management UI has embedded assets.

public required bool UiEmbedded { get; init; }

bool

public override bool Equals(object? obj)

obj object?

bool

public bool Equals(AgentPrismDiagnosticsReport? other)

other AgentPrismDiagnosticsReport?

bool

public override int GetHashCode()

int

public override string ToString()

string

operator ==(AgentPrismDiagnosticsReport?, AgentPrismDiagnosticsReport?)

Section titled “ operator ==(AgentPrismDiagnosticsReport?, AgentPrismDiagnosticsReport?)”
public static bool operator ==(AgentPrismDiagnosticsReport? left, AgentPrismDiagnosticsReport? right)

left AgentPrismDiagnosticsReport?

right AgentPrismDiagnosticsReport?

bool

operator !=(AgentPrismDiagnosticsReport?, AgentPrismDiagnosticsReport?)

Section titled “ operator !=(AgentPrismDiagnosticsReport?, AgentPrismDiagnosticsReport?)”
public static bool operator !=(AgentPrismDiagnosticsReport? left, AgentPrismDiagnosticsReport? right)

left AgentPrismDiagnosticsReport?

right AgentPrismDiagnosticsReport?

bool