RegistryDashboard

Analytics

Agent performance, burndown charts, velocity tracking, discovery timeline, file hotspots, and failure taxonomy distribution.

14 methods

client.analytics.getAgentPerformance()

Get performance metrics for all agents — average score, pass rate, issues found.

Requires authentication
projectoptionalstring

Filter by project name.

daysoptionalnumber

Time window in days (1-365).

Default: 30
limitoptionalnumber

Max results (1-100).

namerequiredstring

Agent name.

totalRunsrequirednumber

Total runs.

averageScorerequirednumber

Average score.

passRaterequirednumber

Pass rate (0-1).

totalIssuesFoundrequirednumber

Total issues found.

getAgentPerformance(query?: AnalyticsQuery): Promise<AgentPerformance[]>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getAgentPerformance();

console.log(result.name);
Response Type
// Promise<AgentPerformance[]>
{
  name: string;
  totalRuns: number;
  averageScore: number;
  passRate: number;
  totalIssuesFound: number;
}

client.analytics.getAgentReliability()

Get reliability metrics — false positive rate, resolution rate, time to resolve.

Requires authentication
agentoptionalstring

Filter by agent name.

projectoptionalstring

Filter by project.

daysoptionalnumber

Time window in days.

Default: 90
agentsrequiredAgentReliability[]

Reliability data per agent.

getAgentReliability(query?: AgentReliabilityQuery): Promise<{ agents: AgentReliability[] }>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getAgentReliability();

console.log(result.agents);
Response Type
// Promise<{ agents: AgentReliability[] }>
{
  agents: AgentReliability[];
}

client.analytics.getBurndown()

Get issue burndown chart data by failure domain over time.

Requires authentication
projectoptionalstring

Filter by project.

daysoptionalnumber

Time window.

Default: 30
granularityoptionalstring

Time granularity.

dailyweekly
Default: daily
timeSeriesrequiredBurndownDataPoint[]

Data points by date.

trendsrequiredRecord<string, DomainTrend>

Trend analysis per domain (STR, SEM, PRA, EPI).

periodrequiredPeriod

Analysis period.

getBurndown(query?: BurndownQuery): Promise<BurndownResult>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getBurndown();

console.log(result.timeSeries);
Response Type
// Promise<BurndownResult>
{
  timeSeries: BurndownDataPoint[];
  trends: Record<string, DomainTrend>;
  period: Period;
}

client.analytics.getVelocity()

Track issue velocity — which failure codes are improving or degrading.

Requires authentication
projectoptionalstring

Filter by project.

daysoptionalnumber

Time window.

Default: 30
alertThresholdoptionalnumber

Velocity alert threshold percent.

Default: 50
itemsrequiredVelocityItem[]

Velocity per failure code.

summaryrequiredVelocitySummary

Summary of improving/degrading codes.

periodrequiredPeriod

Analysis period.

getVelocity(query?: VelocityQuery): Promise<VelocityResult>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getVelocity();

console.log(result.items);
Response Type
// Promise<VelocityResult>
{
  items: VelocityItem[];
  summary: VelocitySummary;
  period: Period;
}

client.analytics.getDiscovery()

Get issue discovery timeline — new vs recurring issues over time.

Requires authentication
projectoptionalstring

Filter by project.

daysoptionalnumber

Time window.

Default: 30
groupByoptionalstring

Time grouping.

dayweekmonth
Default: day
timelinerequiredDiscoveryTimelinePoint[]

Discovery timeline data.

summaryrequiredDiscoverySummary

Discovery summary.

periodrequiredPeriod

Analysis period.

getDiscovery(query?: DiscoveryQuery): Promise<DiscoveryResult>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getDiscovery();

console.log(result.timeline);
Response Type
// Promise<DiscoveryResult>
{
  timeline: DiscoveryTimelinePoint[];
  summary: DiscoverySummary;
  period: Period;
}

client.analytics.getAgentMatrix()

Get agent × failure domain matrix showing coverage and blind spots.

Requires authentication
projectoptionalstring

Filter by project.

daysoptionalnumber

Time window.

Default: 30
minIssuesoptionalnumber

Minimum issues to include agent.

Default: 5
matrixrequiredAgentMatrixRow[]

Agent-domain matrix rows.

analysisrequiredMatrixAnalysis

Blind spots and overlap analysis.

getAgentMatrix(query?: AgentMatrixQuery): Promise<AgentMatrixResult>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getAgentMatrix();

console.log(result.matrix);
Response Type
// Promise<AgentMatrixResult>
{
  matrix: AgentMatrixRow[];
  analysis: MatrixAnalysis;
}

client.analytics.getResolutionRates()

Get issue resolution rates by project.

Requires authentication
projectoptionalstring

Filter by project.

daysoptionalnumber

Time window.

Default: 30
projectrequiredstring

Project name.

totalIssuesrequirednumber

Total issues.

resolvedIssuesrequirednumber

Resolved issues.

resolutionRaterequirednumber

Resolution rate (0-1).

getResolutionRates(query?: AnalyticsQuery): Promise<ResolutionRate[]>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getResolutionRates();

console.log(result.project);
Response Type
// Promise<ResolutionRate[]>
{
  project: string;
  totalIssues: number;
  resolvedIssues: number;
  resolutionRate: number;
}

client.analytics.getFileHotspots()

Get files with the most issues.

Requires authentication
projectoptionalstring

Filter by project.

daysoptionalnumber

Time window.

Default: 30
filePathrequiredstring

File path.

totalIssuesrequirednumber

Total issues in file.

openIssuesrequirednumber

Open issues.

topAgentsrequiredstring[]

Top agents finding issues in this file.

getFileHotspots(query?: AnalyticsQuery): Promise<FileHotspot[]>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getFileHotspots();

console.log(result.filePath);
Response Type
// Promise<FileHotspot[]>
{
  filePath: string;
  totalIssues: number;
  openIssues: number;
  topAgents: string[];
}

client.analytics.getTaxonomyDistribution()

Get issue distribution across failure domains and modes.

Requires authentication
projectoptionalstring

Filter by project.

daysoptionalnumber

Time window.

Default: 30
domainrequiredstring

Failure domain.

moderequiredstring

Failure mode.

countrequirednumber

Issue count.

percentagerequirednumber

Percentage of total.

getTaxonomyDistribution(query?: AnalyticsQuery): Promise<TaxonomyDistribution[]>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getTaxonomyDistribution();

console.log(result.domain);
Response Type
// Promise<TaxonomyDistribution[]>
{
  domain: string;
  mode: string;
  count: number;
  percentage: number;
}

client.analytics.getFullTaxonomy()

Get comprehensive taxonomy analytics including heatmap data and classification rates.

Requires authentication
projectoptionalstring

Filter by project.

daysoptionalnumber

Time window.

Default: 30
byDomainrequiredDomainEntry[]

Counts per domain.

bySeverityrequiredSeverityEntry[]

Counts per severity.

byModerequiredModeEntry[]

Counts per failure mode.

topCodesrequiredTopCode[]

Most frequent failure codes.

heatmapDatarequiredHeatmapEntry[]

Domain × mode heatmap.

totalsrequiredobject

Classification totals.

periodrequiredPeriod

Analysis period.

getFullTaxonomy(query?: AnalyticsQuery): Promise<FullTaxonomyAnalytics>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getFullTaxonomy();

console.log(result.byDomain);
Response Type
// Promise<FullTaxonomyAnalytics>
{
  byDomain: DomainEntry[];
  bySeverity: SeverityEntry[];
  byMode: ModeEntry[];
  topCodes: TopCode[];
  heatmapData: HeatmapEntry[];
  totals: object;
  period: Period;
}

client.analytics.getTrendSummary()

Get high-level trend metrics — improving, stable, or degrading.

Requires authentication
projectoptionalstring

Filter by project.

daysoptionalnumber

Time window.

Default: 30
metricrequiredstring

Metric name.

currentrequirednumber

Current value.

previousrequirednumber

Previous period value.

changerequirednumber

Absolute change.

trendrequiredstring

Trend direction.

improvingstabledegrading
getTrendSummary(query?: AnalyticsQuery): Promise<TrendSummary[]>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getTrendSummary();

console.log(result.metric);
Response Type
// Promise<TrendSummary[]>
{
  metric: string;
  current: number;
  previous: number;
  change: number;
  trend: string;
}

client.analytics.listAgents()

List all agents that have run, with summary stats.

Requires authentication
projectoptionalstring

Filter by project.

daysoptionalnumber

Time window.

Default: 30
namerequiredstring

Agent name.

totalRunsrequirednumber

Total runs.

averageScorerequirednumber

Average score.

passRaterequirednumber

Pass rate.

listAgents(query?: AnalyticsQuery): Promise<AgentInfo[]>
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.listAgents();

console.log(result.name);
Response Type
// Promise<AgentInfo[]>
{
  name: string;
  totalRuns: number;
  averageScore: number;
  passRate: number;
}

client.analytics.getAgentLifecycle()

Version lifecycle trajectory for an agent — performance per definition version.

Requires authentication
agentNamerequiredstring

Agent name.

queryoptionalAnalyticsQuery

Window/limit options.

getAgentLifecycle(agentName, query?)
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getAgentLifecycle('code-validator');
Response Type
Promise<AgentLifecycleEntry[]>

client.analytics.getByMetric()

Generic analytics endpoint — fetch any metric by name (see ANALYTICS_METRICS / isValidMetric).

Requires authentication
metricrequiredAnalyticsMetric

Metric name (see ANALYTICS_METRICS).

queryoptionalAnalyticsQuery

Window/limit options.

getByMetric(metric, query?)
typescript
import { OpsClient } from '@uluops/ops-sdk';

const client = new OpsClient({
  apiKey: 'ulr_your-api-key',
});

const result = await client.analytics.getByMetric('validator_performance');
Response Type
Promise<unknown>