AgentPrism
Namespaces
Section titled “Namespaces”Classes
Section titled “Classes”202 Accepted response for a queued run.
Validates an agent call graph at save time.
The full definition of an agent. The same type is used whether the agent is declared in code or stored in the database; AgentDefinition.Origin tells the two apart.
Converts an AgentDefinition definition into an executable
AI.AIAgent instance.
Request to create or update an agent definition.
Validates an AgentDefinition without saving it or calling a model.
A summary view of an agent listed in the catalog. It carries everything the user interface needs to draw the agent list, without having to build the agent.
Detailed view of a single agent.
AgentPrismA2ABuilderExtensions
Extensions that register the services needed to publish AgentPrism agents over A2A.
Extensions that connect the HTTP endpoint that publishes AgentPrism agents over A2A.
Settings for publishing AgentPrism agents over A2A.
Defines limits that apply when an agent calls another agent.
Connects the Microsoft Agent Framework’s Hosting.AgentSessionStore
abstraction to AgentPrism’s AgentSessionManager class.
Options for asynchronous approvals.
Defines queued, durable run options.
Defines attachment upload limits for size and media-type allow lists.
Defines options for audit-trail actor resolution.
Reports which authentication layers are enabled.
AgentPrismCircuitBreakerOptions
Defines circuit-breaker options that temporarily stop requests after a model provider returns consecutive failures.
AgentPrismClientToolExtensions
Registers a client-side tool: its declaration (name, description, JSON schema) lives in code, like every other tool (the code-only tools rule), but its body runs on the caller instead of on the server.
AgentPrismCompilationException
Thrown when an agent definition cannot be turned into a runnable agent.
AgentPrismContentBlockedException
Thrown when an IContentGuard blocks content.
AgentPrismContentFilteredException
Thrown when a model provider cuts the response short with its safety or content filter.
AgentPrismContentGuardBuilderExtensions
Chain extensions that turn on content inspection.
Settings for the content inspection pipeline.
Defines AgentPrism telemetry source and measurement names.
AgentPrismDiagnosticsCollector
Collects the installation’s self-diagnostic summary report.
Reports the self-diagnostics of the installation.
Shared rules for the target address of outbound network requests.
Access and behavior settings for the endpoints connected via MapAgentPrism.
AgentPrismEndpointRouteBuilderExtensions
Extensions that connect AgentPrism’s HTTP surface to the application.
AgentPrismEvalCheckRegistration
A custom check registration added through IAgentPrismBuilder.AddEvalCheck(...).
Base class for every error AgentPrism raises.
AgentPrismExternalCallException
Thrown when an external caller (over MCP or A2A) asked to invoke an agent from the catalog and the call was refused because it crosses a boundary.
AgentPrismGeneratedToolArguments
The helper methods called by tool wrappers produced by the source generator while converting JSON arguments to CLR types.
AgentPrismHealthCheckExtensions
Extensions that connect AgentPrism to the standard.NET health check system.
Defines model-provider health-check options.
UUID version 7 generator for AgentPrism identifiers (RFC 9562).
Options for Idempotency-Key support.
AgentPrismInboundTriggerOptions
Options that constrain inbound triggers.
Options for the knowledge base (semantic search).
AgentPrismMcpBuilderExtensions
Extensions that register tool discovery from remote MCP servers.
Options for connecting to remote MCP servers.
The security boundary applied to stored MCP server definitions.
AgentPrismMcpServerBuilderExtensions
Extensions that register the services needed to publish AgentPrism agents as MCP tools.
Extensions that connect the HTTP endpoint that publishes AgentPrism agents as MCP tools.
Settings for publishing AgentPrism agents as MCP tools.
Response for {prefix}/api/meta. Carries the minimum information the
UI needs to configure itself.
Metrics emitted by AgentPrism. Consumers collect them with
AddMeter(AgentPrismDiagnostics.MeterName).
AgentPrismModelConcurrencyOptions
Defines the outgoing concurrency limit applied per model provider.
AgentPrismObservabilityOptions
Defines telemetry collection and persistence options.
AgentPrismOnlineEvaluationBuilderExtensions
Chain extensions that turn on the built-in model-based judge.
Defines AgentPrism run-time options.
Validates AgentPrismOptions during application startup.
Role-based authorization policy names that AgentPrism defines.
AgentPrismPostgreSqlBuilderExtensions
Extensions that add PostgreSQL persistence to the AgentPrism chain.
Settings for AgentPrism’s PostgreSQL persistence layer.
AgentPrismPostgreSqlOptionsValidator
Validates AgentPrismPostgreSqlOptions settings at application startup.
Defines options for the pre-flight context-window check.
Defines a run-cost price source. It is a secondary source for a model that has no price in the ModelDescriptor catalog.
AgentPrismProviderUnavailableException
Thrown when the circuit breaker has temporarily taken a model provider out of service.
Defines options for the quota subsystem.
AgentPrismQuotaOptionsValidator
Validates AgentPrismQuotaOptions when the application starts.
Rate-limit settings applied to AgentPrism endpoints.
Defines data retention and archival options.
AgentPrismRetentionOptionsValidator
Validates AgentPrismRetentionOptions when the application starts.
Reports which role levels the current request’s caller satisfies.
Carries the identity, tree position, and budget of the running run to the helper components inside the run path.
Run options that let the caller determine a run’s identifier, its place in the tree, and its budget.
Defines how much detail run recording retains.
Batch and scheduled run settings.
AgentPrismSchedulingOptionsValidator
Validates AgentPrismSchedulingOptions when the application starts.
AgentPrismServiceCollectionExtensions
Extensions that register AgentPrism with dependency injection.
AgentPrismSessionConflictException
Thrown for the losing request when two concurrent first requests arrive for the same new session id.
The stable keys AgentPrism uses in an AgentSession state bag.
Defines limits for skill content and agent attachment.
AgentPrismSkillScriptBuilderExtensions
Configuration extensions that enable skill script execution.
Defines options that control server-side skill script execution.
AgentPrismSqlServerBuilderExtensions
Extensions that add SQL Server persistence to the AgentPrism chain.
Settings for AgentPrism’s SQL Server persistence layer.
AgentPrismSqlServerOptionsValidator
Validates AgentPrismSqlServerOptions settings at application startup.
AgentPrismSqliteBuilderExtensions
Extensions that add SQLite persistence to the AgentPrism chain.
Settings for AgentPrism’s SQLite persistence layer.
AgentPrismSqliteOptionsValidator
Validates AgentPrismSqliteOptions settings at application startup.
Reports which storage implementations are active.
AgentPrismTenancyBuilderExtensions
Extensions that connect multi-tenancy to the HTTP request.
Settings that determine how the tenant is resolved from the request.
AgentPrismTenantProviderOptions
Options that constrain per-tenant model provider bindings (BYOK).
AgentPrismToolApprovalPolicyExtensions
Chain extension that registers a code-defined approval policy for a tool.
Marks a method as a tool. AddToolsFrom<T> registers only
methods carrying this attribute.
Defines tool execution options.
A single tool registered with dependency injection. AgentPrism builds the tool registry from these registrations.
AgentPrismToolTimeoutException
Thrown when a tool call does not settle within its configured timeout.
Lets a tool report non-token usage from its own body.
Provides extensions that register the embedded management UI.
Defines options for the POST /api/agents/validate endpoint.
Event publishing (webhook) settings.
AgentPrismWebhookOptionsValidator
Validates AgentPrismWebhookOptions when the application starts.
AgentPrismWorkflowFunctionExtensions
Extensions that register a code function as a workflow node.
Settings that control workflow execution.
AgentPrismWorkflowsBuilderExtensions
Extensions that register workflow execution.
The definition of a structured output.
Request to roll back a definition to a previous version.
A run budget shared across an entire call tree.
Request for a trial run made from the UI.
Represents the view of a running run that is exposed to the helper components in the run path.
Stamps an AI.AgentSession with, and reads back, its AgentPrism
session identity.
Manages the lifecycle of named sessions: loads, restores, and saves them through ISessionStore.
Combines code and run-time skill sources with a precedence rule.
A markdown-based skill definition that can be loaded into an agent at run time.
Request to create or update a skill.
A readable resource carried with an AgentSkillDefinition.
A server-executable script stored together with an AgentSkillDefinition.
The result of a validation that builds an agent definition without saving it and without calling any model.
Raw JSON response for comparing two definition versions. The diff is not computed on the server; the client compares the two raw definitions field by field.
AllowAllToolAuthorizationHandler
The default IToolAuthorizationHandler: allows every call.
The default implementation that reads the actor from the user in AuditActorContext.
The ambient pass-through for attributing a run that does not run inside an HTTP request to a user and a set of labels.
The ambient passing mechanism for running an operation executed in the background (outside an HTTP request) as a specific tenant.
Builds an Anthropic.AnthropicClient from settings and produces
AI.IChatClient instances from model bindings.
Builds the catalog shown to the UI from the model definitions in provider settings.
IModelProvider implementation for Anthropic (Claude).
Extensions that add the Anthropic (Claude) provider to the AgentPrism chain.
The provider name registered by UseAnthropic and the
ModelBinding.ProviderSettings keys.
AgentPrism’s Anthropic (Claude) provider settings.
AnthropicProviderOptionsValidator
Validates AnthropicProviderOptions settings at application startup.
The request body for creating an API key.
The result of a key creation operation.
A draft for creating an API key.
A helper that produces a raw API key value and its hash.
An API key’s database-stored view, which CARRIES no raw VALUE.
Request body for deciding a pending approval request.
The JSON representation of a single row to write to the archive.
The content of a new attachment to be saved into the store.
The metadata of an uploaded attachment.
The filter used to list attachments.
Validates an attachment candidate against size and media-type allow lists.
Converts an attachment to a AI.UriContent
reference and resolves that reference back.
An ambient context that carries the user of the current call.
Computes the hash chain link for an audit trail entry. The single place the canonical form is defined; both the write path and the verify path call it, so the two can never drift apart.
The criteria that scope a hash chain verification.
The result of verifying one tenant’s audit trail hash chain.
Walks an ordered list of audit entries and reports the chain status. Shared by InMemoryAuditLog and the SQL providers so the two verify algorithms can never drift apart.
A row in the audit trail that records who changed which entity and when.
Builds a small JSON object for the audit trail.
The criteria that filter an audit trail query.
A helper that supplies the common write path for all code that writes audit entries, including store decorators and endpoint-layer exceptions.
Redacts potential secrets from before and after payloads before
they are written to the audit trail.
Wraps IAgentDefinitionStore in a decorator that writes an audit trail.
Wraps IExperimentStore in a decorator that writes an audit trail.
Wraps IMcpServerStore in a decorator that writes an audit trail.
Wraps ISessionStore in a decorator that writes an audit trail only for delete operations.
Wraps ISkillScriptGrantStore in a decorator that writes an audit trail.
Wraps ITenantStore in a decorator that writes an audit trail.
Wraps IToolApprovalRuleStore in a decorator that writes an audit trail.
AuditingWorkflowDefinitionStore
Wraps IWorkflowDefinitionStore in a decorator that writes an audit trail.
Wraps an AI.AIFunction with an IToolAuthorizationHandler
check that runs before every call.
Builds an AzureOpenAIClient from options and produces AI.IChatClient instances from model bindings.
Builds the catalog shown to the UI from the deployment definitions in the provider options.
The IModelProvider implementation for Azure OpenAI.
Extensions that add the Azure OpenAI provider to the AgentPrism chain.
The provider name registered by the UseAzureOpenAI call, and the
ModelBinding.ProviderSettings keys.
AgentPrism’s Azure OpenAI provider options.
AzureOpenAIProviderOptionsValidator
Validates AzureOpenAIProviderOptions when the application starts.
Resolves, from the catalog, the other agents an agent may call.
Represents the result of evaluating a canary policy against the current results of the canary and control variants.
Pure decision logic that evaluates a CanaryPolicy against the current results of the canary and control arms.
Options for the canary evaluation background service.
Defines automatic rollback and gradual traffic-increase rules for an experiment canary variant.
The state the chat history provider stores within a session.
Wraps a sub-agent an agent may call; enforces depth, budget, and tenant limits and links the sub-run into the tree.
Determines whether a response carries a tool call pending approval.
The result of a single client-side tool call, sent back so the run can continue.
A code-defined agent registration. Use one of two forms: declarative CodeAgentRegistration.Definition or CodeAgentRegistration.Factory, which gives full control.
A source that exposes code-defined agents in the catalog.
Determines how an agent compacts its conversation history.
Caches compiled agents keyed by (tenant, name, version, skill fingerprint, culture).
Combines all IAgentSource sources in one catalog and wraps resolved agents with registered IAgentDecorator decorators.
Reports whether a configuration key resolves. It does not carry the value.
Verifies that a configuration key name a stored record points at sits under an allowed prefix.
The context of an IContentGuard call.
Pipeline that runs the registered IContentGuard implementations in sequence and records their decisions.
The result of an IContentGuard check.
The result of a pre-flight context-window check, computed without calling the model provider.
Estimates a prompt’s token count and whether it would be rejected by the pre-flight context-window check, without calling a model provider.
Branches a session’s conversation from a given point, and opens a new session that carries the branch.
A hand-written parser for the standard five-field cron subset
(minute hour day-of-month month day-of-week).
Tenant of the current request.
The outcome of a data subject erasure request.
A data subject’s exported content.
The sessions, runs, and conversations that belong to one data subject.
The built-in IRunAttributionContext. It reports whatever AmbientRunAttributionScope carries, and nothing otherwise.
AgentPrism’s built-in error classifier.
A source that exposes definitions from IAgentDefinitionStore in the catalog. Agents created through the UI come from this source.
The single place that decides whether an outbound target address is safe.
Validates the address a socket is about to connect to, and opens the socket only to an allowed address.
A single test case inside an EvalSuite.
The result of IEvalStore.AddCaseAsync.
Carrier for adding a single EvalCase.
Input shape of an eval case (in a request).
Request to promote a run to a case.
The result of a single EvalCase within an EvalRun.
Converts the declarative check definitions in EvalSuite.Checks
into AI.EvalCheck instances.
A single execution record and summary of an EvalSuite.
The information needed to finalize a run.
Detailed view of a single eval run: summary and case results together.
A query for filtering the run list.
Request to trigger an eval run immediately.
An evaluation (eval) suite defined for an agent: carries which agent is measured, with which checks.
Request to create/update an eval suite.
Represents an A/B experiment that splits traffic between two or more definition versions of the same agent.
Represents the experiment variant to which a run request is deterministically assigned.
Deterministically assigns a run request to a bucket, when a running experiment exists for an agent.
Response for GET /api/experiments/{name}/canary — the rule AND its
current evaluation together.
Defines a query for experiment results.
Per-variant results view of an experiment.
Request to create/update an experiment. The name comes from the path.
Defines one experiment variant: its definition version and traffic weight.
Summarizes run results for an experiment variant (calculated in the store).
An immutable tenant context that always returns the same tenant.
The generated raw API key value and its derived forms.
Builds a Google GenAI GenAI.Client from settings and produces
AI.IChatClient instances from model bindings.
Builds the catalog shown in the UI from the model definitions in provider settings.
IModelProvider implementation for Google Gemini.
Extensions that add the Google Gemini provider to the AgentPrism chain.
Provider name registered by the UseGoogle call, and the
ModelBinding.ProviderSettings keys.
AgentPrism’s Google Gemini provider settings.
GoogleProviderOptionsValidator
Validates GoogleProviderOptions settings at application startup.
Settings for the harness capabilities. It mirrors a safe subset of the
HarnessAgentOptions structure of Microsoft Agent Framework.
Resolves the tenant from the current HTTP request.
An idempotency reservation request.
The result of an IIdempotencyStore.ReserveAsync call.
The stored HTTP response.
A store that keeps agent definitions in process memory.
A store that keeps skill definitions in process memory.
The default implementation that keeps API keys in process memory.
A store that keeps attachments in process memory.
An audit log that keeps entries in process memory.
A store that keeps eval suites, cases, and runs in process memory.
A store that keeps A/B experiments in process memory.
A store that keeps idempotency records in process memory (first class).
A store that keeps inbound trigger definitions in process memory (first class).
A store that keeps schedule definitions in process memory.
A store that keeps queued jobs and their items in process memory.
A store that keeps MCP server definitions in process memory.
A store that keeps pending approval requests in process memory.
The default implementation that keeps quota rules and counters in process memory.
The default implementation that keeps retention policies and run history in process memory.
The default store that keeps run inputs in memory.
A store that keeps run and message scores in process memory.
A store that keeps run records and their events in process memory.
A store that keeps sessions in process memory.
A store that keeps singleton execution leases in process memory.
A store that keeps script execution grants in process memory.
InMemoryTenantEgressPolicyStore
In-memory ITenantEgressPolicyStore implementation.
InMemoryTenantProviderBindingStore
In-memory ITenantProviderBindingStore implementation.
A store that keeps tenant records in process memory.
A store that keeps persistent approval rules in process memory.
A store that keeps spans in process memory.
The default implementation that keeps voice records in process memory.
The default implementation that keeps webhook subscriptions and delivery history in process memory.
InMemoryWorkflowCheckpointStore
Stores workflow checkpoints in process memory.
InMemoryWorkflowDefinitionStore
Stores workflow definitions in process memory.
An inbound trigger definition: an external event that starts a queued run.
InboundTriggerAcceptedResponse
The response for a successfully accepted inbound trigger event.
The result of InboundTriggerDispatcher.EnqueueAsync.
Validates and dispatches inbound trigger requests: HMAC signature and timestamp window, replay protection, payload extraction, and queuing.
Applies a fixed-window rate limit per inbound trigger.
The response describing an inbound trigger definition.
The request body for creating or replacing an inbound trigger.
Resolves an InboundTrigger’s signing secret by reading its configured configuration key.
InboundTriggerValidatedRequest
A request that passed every check and is ready to be queued.
InboundTriggerValidationResult
The result of InboundTriggerDispatcher.ValidateAsync.
Resolves the instructions text a run should use from an AgentDefinition’s culture dictionary.
The information needed to finalize a job.
The context available during an IJobHandler execution.
Detailed view of a single job: record and items together.
A single input of a batch job and that input’s processing result.
The result of a processed job item. Reported with IJobStore.ReportItemAsync.
Extracts the job item input list from the free-form JSON in JobRecord.Payload/JobSchedule.Payload.
A filter for querying the job list.
The summary of a queued job. The header of its items (JobItemRecord).
The exception an IJobHandler throws to signal that it wants the job retried after a specific delay.
The schedule record defining when and how a job runs.
Request to create/update a schedule.
Request to trigger a schedule immediately.
Management (operator) surface for document ingestion, semantic search, and source management.
The result of the OAuth callback.
Response for starting OAuth Mode 1.
The result of an OAuth start request.
The summary of an MCP prompt argument.
Request to resolve an MCP prompt with arguments.
The resolved content of a prompt.
The result of listing prompts.
The summary of an MCP prompt.
Result of an MCP tool refresh.
The content of a resource that was read.
The result of listing resources.
The summary of an MCP resource.
A registered remote MCP server. Its tools are discovered at connection time and listed alongside the tools registered in code.
Request to create/update an MCP server.
A registry that combines tools registered in code with those discovered from remote MCP servers.
Determines the memory providers bound to an agent.
Applies the embedded SQL migrations to the database.
Applies the embedded SQL migrations to the database.
Applies the embedded SQL migrations to the database.
Determines the provider and the model an agent runs with. It carries no credentials; the API key is resolved from configuration.
A model’s capabilities and limits.
One link of a ModelBinding.Fallbacks chain.
Defines a configured price override for one model.
Circuit breaker that temporarily cuts off requests when a model provider fails consecutively. Holds state per provider name.
A resolved, in-memory credential used to call a model provider on behalf of a specific tenant.
A provider’s definition as shown in the UI.
A model provider’s status at the last check.
Caches the health-check results of the registered model providers.
Registry that holds the registered IModelProvider implementations by name, and the single place that assembles the model-call pipeline.
Helpers that read and validate the ModelBinding.ProviderSettings dictionary.
Provides the built-in, model-backed IRunJudge implementation.
Options for the built-in model-based judge (ModelRunJudge).
The default (in-memory) IDataSubjectStore: export and erasure are
meaningful only once a SQL provider is enabled — the same precedent as
NullRetentionStore.
The no-op default data-plane implementation. It is registered with in-memory stores and always returns “nothing matched”.
Executes JobKind.OnlineEval jobs: scores a sampled production run with every registered IRunJudge.
Maintains a sliding-window summary of online evaluation scores and publishes WebhookEvents.RunScoreLow when its threshold is crossed.
Online evaluation settings.
OnlineEvaluationOptionsValidator
Validates OnlineEvaluationOptions when the application starts.
Summarizes the online evaluation window (GET /api/evaluation/online).
Builds an OpenAI.OpenAIClient from options and produces
AI.IChatClient instances from model bindings.
OpenAICompatibleProviderExtensions
Extensions that add named providers with an OpenAI compatible chat API to the AgentPrism chain (OpenRouter, Groq, vLLM, Ollama, LM Studio, …).
OpenAICompatibleProviderOptions
Constants for the configuration path of the providers that
UseOpenAICompatible registers.
Builds the catalog shown in the user interface from the model definitions in the provider options.
The IModelProvider implementation for OpenAI.
Extensions that add the OpenAI provider to the AgentPrism chain.
The provider names that the UseOpenAI call registers.
The OpenAI provider options of AgentPrism.
OpenAIProviderOptionsValidator
Validates OpenAIProviderOptions while the application starts.
Wraps every agent resolved from the catalog with Microsoft Agent Framework’s
AI.OpenTelemetryAgent decorator.
AgentPrism’s built-in pattern-based content guard.
Settings for the built-in pattern-based guard.
The pending tool approval request of a run that executes from the queue.
Limits concurrent outgoing calls per model provider.
ProviderCredentialClientCache<TFactory>
Builds and caches a provider-specific client factory keyed by a resolved ModelProviderCredential (BYOK).
Summarizes diagnostics for a model provider.
The consumption of a completed run to add to the quota counters.
The result of a quota check.
A quota rule defined for a tenant or an agent.
Enforces quota rules and records the consumption of completed runs.
Calculates which quota period an instant falls into, and when that period resets.
Request body for saving a quota rule.
Cached data source for the agentprism.quota.usage/agentprism.quota.limit
observable gauges.
A filter for querying quota usage.
A scope’s consumption in the current period.
Response for the quota usage endpoint.
Replay could not find a recorded tool result.
Represents a resolved, applicable retention rule for a target.
Provides shared logic for preview and actual cleanup runs. RetentionJobHandler
and the RetentionEndpoints “run now” and “preview” endpoints use it.
Runs a retention sweep (JobKind.Retention).
An age- and volume-based retention rule for a target.
Combines the database policy with the configuration default for a target.
Request body for saving a retention policy.
A preview of “how many rows would be deleted if run now” for a target.
The history record of a cleanup run.
Response to a “run now” request.
Defines a configuration-based retention default for one target.
The fixed table list a retention policy may target.
An agent’s run summary.
Reads an IRunAttributionContext safely on a recording path.
An in-memory implementation of IRunCancellationRegistry.
Side-by-side summary of two runs.
One side of the comparison.
Everything needed to close a run.
Cost of a run. It is computed and written once when the run ends (a price snapshot) — a later change to the price list does not change past values.
Result of a cost recalculation.
Maintenance service that recalculates the cost of all runs against the current pricing source (catalog/configuration).
Error information for a failed run.
The result of an IRunErrorClassifier classification.
The summary of runs sharing the same fingerprint.
An error class’s summary.
A single event produced during a run. Events are append-only: they are never updated, only added.
Writes the events of a single run into IRunStore and produces the sequence number.
Request body for writing a run/message score.
A run’s stored input.
HTTP response for a run’s recorded input.
The context the judge sees.
The judge’s verdict.
A label’s run summary; one entry per distinct key/value pair.
The limits a run’s attribution must obey, and the single place they are enforced.
A model’s run summary. The input to cost computation.
Provides the default IRunPricingResolver implementation. It
resolves prices from the model catalog, then AgentPrism:Pricing configuration.
Represents the RunToCasePromoter.PromoteAsync outcome and its case, when present.
Query used to filter the run list.
Orphaned-run reconciliation settings.
RunReconciliationOptionsValidator
Validates RunReconciliationOptions when the application starts.
Summary of a run. It acts as the header of the event stream.
Writes every run of the wrapped agent into IRunStore as events, emits its metrics and collects its spans.
Wraps every agent resolved from the catalog with RunRecordingAgent.
Represents a prepared replay plan.
A replay request.
Result of a replay.
Makes a recorded run re-runnable with the same input under modified conditions.
Represents the run summary required for a sampling decision.
Decides whether to sample a completed run for online evaluation and, when sampled, queues a JobKind.OnlineEval job.
A human (or judge) score for a run or for a single message within a run.
Everything needed to open a new run.
A summary of the runs in a time range.
The filter for a run statistics query.
The shared pure logic for time-series bucket computation. Both
InMemoryRunStore and PostgresRunStore use this type, so the
bucket limit and rounding rules never diverge between the two stores.
Filter for a time-series query.
Promotes a production run to an evaluation case.
A run’s span tree. The waterfall view is built on top of this.
Listens to AgentPrism spans, buffers them per run, and writes them to ITraceStore when the run completes, based on the sampling decision.
Total cost of a run tree (the root plus every child run).
Token usage of a run.
A user’s run summary.
A definition version’s run summary.
AgentPrism’s single script execution path, which runs skill scripts in an isolated operating-system process.
Delays background services until the SQL schema is ready.
A semantic search hit.
A semantic search request.
The result of a branching attempt.
A request to branch a conversation from a specific point.
The result of branching.
Resolves the internal chat-history conversation id SqlChatHistoryProvider
attaches to a session, for data subject export/erasure.
Detailed view of a single session: metadata and chat history.
A filter for querying the session list.
A stored session.
The default tenant context for single-tenant deployments. It always returns AgentPrismOptions.DefaultTenantId.
The settings of single-executor election.
SingletonExecutionOptionsValidator
Validates SingletonExecutionOptions when the application starts.
Reduces a background service’s execution to a single instance cluster-wide.
The result of one skill script execution.
The record carrying permission to execute a skill script.
Request to grant script execution permission.
Validates the file name a stored script is written under.
The compile-path handle for skill script execution: sets up MAF’s file-based skill source and produces the execution delegate for stored scripts.
A speech synthesis request as an operator action.
The result of speech synthesis.
One character’s position in the generated audio.
Generated audio.
A text-to-speech generation request.
The result of speech-to-text conversion.
Speech-to-text conversion settings.
SqlPersistenceDiagnosticsSnapshot
Represents the current connection and migration status of an SQL persistence provider.
SqlPersistenceRegistrationMarker
Marks a registered SQL persistence provider.
Defines span and metric tag names. Changing them breaks dashboards.
A registered tenant.
The set of model providers a tenant’s agents are allowed to call (egress policy).
The request body for creating or replacing a tenant’s egress policy.
The response describing a tenant’s egress policy.
Binds a tenant to a model provider’s credential, by name only.
The request body for creating or replacing a tenant provider binding.
The response describing a tenant provider binding.
TenantProviderCredentialResolver
Resolves a tenant’s TenantProviderBinding into a ModelProviderCredential by reading the bound configuration key’s value.
Request to create/update a tenant record.
Splits text into fixed-length chunks with overlap.
A summary of the runs in a time bucket. The result unit of
/api/stats/timeseries; empty buckets are also returned (with zero events).
Wraps an AI.AIFunction so a call that does not settle within a
fixed duration ends in AgentPrismToolTimeoutException instead
of running unbounded.
Wraps every agent resolved from the catalog with Microsoft Agent Framework’s
AI.ToolApprovalAgent decorator and supplies persistent “do not ask again”
rules as automatic approval rules.
The tool call a code-defined approval policy judges. Read-only.
Tool approval decision sent from the UI.
ToolApprovalPolicyRegistration
A code-defined approval policy registered through
IAgentPrismBuilder.AddToolApprovalPolicy(...).
Holds the code-defined approval policies registered at startup, keyed by tool name.
A persistent approval rule for a tool call the user said “do not ask again” for.
Applies persistent approval rules to a tool call.
Request to create a persistent, argument-conditioned approval rule.
One comparison against a tool call argument: path · operator · value.
The size limits that keep ToolArgumentCondition a comparison, not a rule engine.
Describes one tool call awaiting an authorization decision.
The outcome of an authorization decision.
A single tool call’s non-token measurement and cost.
The UI-facing definition of a tool registered in code. The agent editor shows a selection from this list; it does not accept free-text input.
The summary of a single completed tool call.
The tool registry created from AgentPrismToolRegistration entries.
A tool’s usage summary. Shown by the UI’s Tools screen.
The filter for a tool usage summary.
The known unit names for ToolCallUsage.Unit.
A single persisted OpenTelemetry span.
A span set belonging to a single trace.
A single ready-made chunk in an upload request.
Request to upload a document.
Result of a document upload request.
A single finding produced by the validation of an agent definition.
A single chunk to write.
A single search result.
A semantic search request.
The audio formats that the client can send.
Adds the voice tools to the AgentPrism chain.
Represents a reserved voice connection slot.
Limits concurrent voice connections per tenant.
VoiceConversationBuilderExtensions
Extensions that enable the real-time voice conversation layer.
Runs the real-time conversation pipeline: audio comes in, text is transcribed, the existing run path processes it, and audio goes out.
Options of the real-time voice conversation layer.
The frame names and the audio formats of the conversation WebSocket.
The immutable facts of a conversation connection.
The definition of an available voice.
The voice provider’s reachability status.
Settings for the voice tools.
Validates VoiceOptions values while the application STARTS.
Defines the configured price for one voice model.
Names of known voice providers.
The filter for listing voice session records.
The summary record of a real-time voice connection.
A pending approval or human-input request’s webhook summary.
A single delivery record.
Executes a single webhook delivery attempt (JobKind.WebhookDelivery).
A filter for querying delivery history.
The result of a delivery attempt.
The JSON body of a webhook request.
WebhookEventPayloadJsonContext
The source-generated JSON context for WebhookEventPayloadJsonContext.WebhookEventPayload and its subtypes.
The event types AgentPrism can publish.
Provides the HttpClient used for webhook delivery, with built-in SSRF protection.
A job’s webhook summary.
Publishes an event to its matching subscriptions. It creates the delivery record and writes the delivery to the job queue.
An exceeded quota threshold’s webhook summary.
A run’s webhook summary.
The request body for saving a webhook subscription.
A score window threshold’s webhook summary.
Produces and verifies the HMAC-SHA256 signature of webhook requests.
An external system’s event subscription.
The response for the test event.
Validates webhook target addresses against SSRF.
Binds catalog agents to a workflow graph defined in code.
Represents a single checkpoint of a workflow run.
Provides shared constants for checkpoint state.
Represents the full definition of a workflow, whether defined through the UI or in code.
Validates the structural validity of a workflow definition.
Represents a summary view of a workflow listed in the catalog.
Describes a function node registered in code.
Wire-safe view of a registered function node.
Represents a workflow’s compiled graph: nodes, edges, and external request ports.
Represents the connection between two nodes.
Represents a node in the graph.
Points to a single node entering a workflow’s graph: an agent from the catalog, or a function registered in code.
Represents human input awaited by a workflow run.
Response to a pending human input request.
Represents a response to a pending request.
Request to resume a workflow from a checkpoint.
The information needed to resume a workflow from a checkpoint.
Request to run a workflow.
The information needed to run a workflow.
Request to save a workflow definition.
Structs
Section titled “Structs”The machine-readable result of a call graph validation.
The result of validating an attachment.
The summary of a callable sub-agent, reported to the model.
A conversation branch’s store-level result.
The address rules one outbound surface applies to its targets.
The result of validating an outbound target address.
The result of an IMcpToolRefresher.RefreshAsync call.
The resolved set of sub-agents a definition may call, and its cache fingerprint.
Represents the information an event carries before its sequence number and timestamp are assigned.
The result reporting whether a webhook target is safe.
Interfaces
Section titled “Interfaces”The catalog that joins every agent source into a single view. The user interface and the HTTP layer reach agents only through this interface.
A decorator applied to every agent resolved from the catalog. AgentPrism adds run recording through this mechanism; a consumer can register its own decorator the same way.
The store for agent definitions kept in the database. Versioning and rollback support are required: every save produces a new version, and old versions are not deleted.
The fluent chain that configures AgentPrism. Returned from the
AddAgentPrism call.
Source that serves the management UI’s static assets.
The store for a tenant’s run-time skill definitions.
A source the catalog collects agents from. AgentPrism joins several sources into one catalog: the ones declared in code, the ones stored in the database and (from onwards) Microsoft Agent Framework hosting registrations.
The store for per-tenant API keys.
The cold-storage extension point rows are written to before deletion.
The extension point that stores attachment content in an external store (S3, Blob).
The contract for attachment metadata and for the default (database) content storage.
Resolves the actor (the who) of the current call.
Exposes the real store implementation an audit trail decorator wraps.
The audit trail log.
The extension point that inspects content going to and coming from the model.
The store that branches a conversation by copying it.
Maps a data subject (an end user, in the consumer’s own identity system) to the sessions, runs, and conversations that belong to them.
The data plane that counts, exports, and erases one data subject’s content across the schema.
The store for evaluation (eval) suites, cases, and runs.
Defines the store for A/B experiments.
The store for idempotency records.
The store for inbound trigger definitions.
The extension point that provides job execution logic for a specific JobKind.
The store for schedule definitions.
The store for queued jobs and their items.
The coordinator that manages the OAuth Mode 1 (authorization code) flow for MCP servers.
The client that lists an MCP server’s prompts and resolves their content.
The client that lists and reads an MCP server’s resources.
IMcpResourceContextProviderFactory
The factory that builds an AI.AIContextProvider for
AgentDefinition.McpResourceUris (Mode A).
The store for registered MCP servers.
Refreshes the tool list of remote MCP servers on demand.
A model provider. Each provider is implemented in its own package (for
example, AgentPrism.OpenAI) and registered with DI.
IModelProviderConfigurationDiagnostics
Defines optional configuration diagnostics for a model provider.
The optional health-check contract for a model provider.
The registry that keeps registered model providers by name.
The store for pending approval requests.
The store for quota rules and consumption counters.
The control-plane store for retention policies and run history.
The data plane that counts, batch-deletes, and reads-for-archive over the actual retention data.
Resolves who a run belongs to and what work it was made for.
The in-memory registry of runs in progress on this instance; binds an incoming cancellation request to the running run’s CancellationTokenSource.
Converts a raw run error into a class and a clustering fingerprint.
Receives run events as they are written, in addition to IRunStore.
Stores a run’s input messages. The source of replay.
The extension point that scores a completed production run.
Computes the cost from a model+usage pair. Pricing order: the model
catalog, then the AgentPrism:Pricing configuration.
The store for run and message scores (RunScore).
Store for run records and the event stream.
The store for serialized agent sessions.
The lease store that keeps a named job running on a single instance across the cluster.
The store for skill script execution grants.
A provider that generates speech from text.
A provider that transcribes speech to text.
Defines optional diagnostics for the active SQL persistence provider.
Resolves the current request’s tenant. In a single-tenant setup, returns a fixed value and requires no additional configuration.
The store for per-tenant model provider egress policies.
The store for per-tenant model provider bindings (BYOK).
The store for tenant registrations.
The store for persistent approval rules.
Decides whether a tenant/user may call a specific tool.
The registry of tools registered in code.
The store for persisted spans.
The embedding-based semantic search store.
An IAgentSource that can resolve a specific definition version. Only sources that keep a version history implement it (the database source); the code source has no notion of a version and need not implement this interface.
Checks the voice provider’s reachability.
Reads the configured voice model’s pricing.
Stores the summary record of real-time voice connections.
The component that publishes an event to its subscriptions.
The store for webhook subscriptions and delivery history.
The store for workflow checkpoints.
The store for workflow definitions stored in the database.
The registry of workflow function nodes registered in code.
Reads the workflow catalog and runs workflows.
Tells where an agent definition came from.
The requested format of an agent response.
An authority scope an API key may open.
The status of a pending approval request.
The result of walking a tenant’s audit trail hash chain.
Defines the outcome of a canary evaluation.
The kind of context compaction strategy that can be bound to an agent definition.
The decision a guard can make.
The direction of a content guard check.
The reason an EvalCase was promoted from a production run.
The status of an eval run.
Defines the lifecycle status of an A/B experiment.
The four possible states of an idempotency key.
The outcome of validating an inbound trigger request.
How an inbound trigger’s request body becomes the agent/workflow message.
What kind of target an inbound trigger fires.
The status of a batch job item.
What target a job runs.
The status of a queued job.
The MCP OAuth authorization flow.
The result status of an OAuth authorization request.
The result status of an MCP request.
The way a connection to an MCP server is made.
A provider’s checked reachability status.
Selects which of the two OpenAI chat APIs is used.
The built-in pattern families for PatternContentGuard.
Reports where a run’s cost pricing came from.
The metric a quota is exceeded by.
The interval at which a quota’s counter resets.
Which key the rate limit is partitioned by.
How tools are handled during replay.
A run error’s class.
Event types produced during a run. The user interface maps these directly onto visual elements, so the values must stay stable.
Reports what a runs row records.
Defines the outcome of RunToCasePromoter.PromoteAsync.
Represents the outcome of a replay preparation.
The shape of the value a RunScore carries.
Status of a run.
The outcome of a branching attempt.
The source of a speech measurement.
The bucket width for a time-series query.
The outcome of a code-defined approval policy (ToolApprovalContext).
A comparison operator for a ToolArgumentCondition.
Classifies the blast radius of a tool call.
A span’s OpenTelemetry kind. Values are stored in the database as
smallint; the numbers are stable.
A span’s result status. smallint in the database.
The severity of a ValidationMessage.
The reason a voice connection closed.
The status of a webhook delivery attempt.
Represents the kind of an edge.
Represents the built-in workflow patterns that can be defined through the UI.
Represents the role of a graph node.
Defines how the UI presents a pending request.