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.
Parameters
projectoptionalstringFilter by project name.
daysoptionalnumberTime window in days (1-365).
Default:30limitoptionalnumberMax results (1-100).
Return Fields
namerequiredstringAgent name.
totalRunsrequirednumberTotal runs.
averageScorerequirednumberAverage score.
passRaterequirednumberPass rate (0-1).
totalIssuesFoundrequirednumberTotal issues found.
getAgentPerformance(query?: AnalyticsQuery): Promise<AgentPerformance[]>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);// 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.
Parameters
agentoptionalstringFilter by agent name.
projectoptionalstringFilter by project.
daysoptionalnumberTime window in days.
Default:90Return Fields
agentsrequiredAgentReliability[]Reliability data per agent.
getAgentReliability(query?: AgentReliabilityQuery): Promise<{ agents: AgentReliability[] }>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);// Promise<{ agents: AgentReliability[] }>
{
agents: AgentReliability[];
}client.analytics.getBurndown()
Get issue burndown chart data by failure domain over time.
Parameters
projectoptionalstringFilter by project.
daysoptionalnumberTime window.
Default:30granularityoptionalstringTime granularity.
dailyweeklydailyReturn Fields
timeSeriesrequiredBurndownDataPoint[]Data points by date.
trendsrequiredRecord<string, DomainTrend>Trend analysis per domain (STR, SEM, PRA, EPI).
periodrequiredPeriodAnalysis period.
getBurndown(query?: BurndownQuery): Promise<BurndownResult>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);// Promise<BurndownResult>
{
timeSeries: BurndownDataPoint[];
trends: Record<string, DomainTrend>;
period: Period;
}client.analytics.getVelocity()
Track issue velocity — which failure codes are improving or degrading.
Parameters
projectoptionalstringFilter by project.
daysoptionalnumberTime window.
Default:30alertThresholdoptionalnumberVelocity alert threshold percent.
Default:50Return Fields
itemsrequiredVelocityItem[]Velocity per failure code.
summaryrequiredVelocitySummarySummary of improving/degrading codes.
periodrequiredPeriodAnalysis period.
getVelocity(query?: VelocityQuery): Promise<VelocityResult>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);// Promise<VelocityResult>
{
items: VelocityItem[];
summary: VelocitySummary;
period: Period;
}client.analytics.getDiscovery()
Get issue discovery timeline — new vs recurring issues over time.
Parameters
projectoptionalstringFilter by project.
daysoptionalnumberTime window.
Default:30groupByoptionalstringTime grouping.
dayweekmonthdayReturn Fields
timelinerequiredDiscoveryTimelinePoint[]Discovery timeline data.
summaryrequiredDiscoverySummaryDiscovery summary.
periodrequiredPeriodAnalysis period.
getDiscovery(query?: DiscoveryQuery): Promise<DiscoveryResult>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);// Promise<DiscoveryResult>
{
timeline: DiscoveryTimelinePoint[];
summary: DiscoverySummary;
period: Period;
}client.analytics.getAgentMatrix()
Get agent × failure domain matrix showing coverage and blind spots.
Parameters
projectoptionalstringFilter by project.
daysoptionalnumberTime window.
Default:30minIssuesoptionalnumberMinimum issues to include agent.
Default:5Return Fields
matrixrequiredAgentMatrixRow[]Agent-domain matrix rows.
analysisrequiredMatrixAnalysisBlind spots and overlap analysis.
getAgentMatrix(query?: AgentMatrixQuery): Promise<AgentMatrixResult>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);// Promise<AgentMatrixResult>
{
matrix: AgentMatrixRow[];
analysis: MatrixAnalysis;
}client.analytics.getResolutionRates()
Get issue resolution rates by project.
Parameters
projectoptionalstringFilter by project.
daysoptionalnumberTime window.
Default:30Return Fields
projectrequiredstringProject name.
totalIssuesrequirednumberTotal issues.
resolvedIssuesrequirednumberResolved issues.
resolutionRaterequirednumberResolution rate (0-1).
getResolutionRates(query?: AnalyticsQuery): Promise<ResolutionRate[]>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);// Promise<ResolutionRate[]>
{
project: string;
totalIssues: number;
resolvedIssues: number;
resolutionRate: number;
}client.analytics.getFileHotspots()
Get files with the most issues.
Parameters
projectoptionalstringFilter by project.
daysoptionalnumberTime window.
Default:30Return Fields
filePathrequiredstringFile path.
totalIssuesrequirednumberTotal issues in file.
openIssuesrequirednumberOpen issues.
topAgentsrequiredstring[]Top agents finding issues in this file.
getFileHotspots(query?: AnalyticsQuery): Promise<FileHotspot[]>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);// Promise<FileHotspot[]>
{
filePath: string;
totalIssues: number;
openIssues: number;
topAgents: string[];
}client.analytics.getTaxonomyDistribution()
Get issue distribution across failure domains and modes.
Parameters
projectoptionalstringFilter by project.
daysoptionalnumberTime window.
Default:30Return Fields
domainrequiredstringFailure domain.
moderequiredstringFailure mode.
countrequirednumberIssue count.
percentagerequirednumberPercentage of total.
getTaxonomyDistribution(query?: AnalyticsQuery): Promise<TaxonomyDistribution[]>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);// Promise<TaxonomyDistribution[]>
{
domain: string;
mode: string;
count: number;
percentage: number;
}client.analytics.getFullTaxonomy()
Get comprehensive taxonomy analytics including heatmap data and classification rates.
Parameters
projectoptionalstringFilter by project.
daysoptionalnumberTime window.
Default:30Return Fields
byDomainrequiredDomainEntry[]Counts per domain.
bySeverityrequiredSeverityEntry[]Counts per severity.
byModerequiredModeEntry[]Counts per failure mode.
topCodesrequiredTopCode[]Most frequent failure codes.
heatmapDatarequiredHeatmapEntry[]Domain × mode heatmap.
totalsrequiredobjectClassification totals.
periodrequiredPeriodAnalysis period.
getFullTaxonomy(query?: AnalyticsQuery): Promise<FullTaxonomyAnalytics>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);// 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.
Parameters
projectoptionalstringFilter by project.
daysoptionalnumberTime window.
Default:30Return Fields
metricrequiredstringMetric name.
currentrequirednumberCurrent value.
previousrequirednumberPrevious period value.
changerequirednumberAbsolute change.
trendrequiredstringTrend direction.
improvingstabledegradinggetTrendSummary(query?: AnalyticsQuery): Promise<TrendSummary[]>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);// Promise<TrendSummary[]>
{
metric: string;
current: number;
previous: number;
change: number;
trend: string;
}client.analytics.listAgents()
List all agents that have run, with summary stats.
Parameters
projectoptionalstringFilter by project.
daysoptionalnumberTime window.
Default:30Return Fields
namerequiredstringAgent name.
totalRunsrequirednumberTotal runs.
averageScorerequirednumberAverage score.
passRaterequirednumberPass rate.
listAgents(query?: AnalyticsQuery): Promise<AgentInfo[]>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);// Promise<AgentInfo[]>
{
name: string;
totalRuns: number;
averageScore: number;
passRate: number;
}client.analytics.getAgentLifecycle()
Version lifecycle trajectory for an agent — performance per definition version.
Parameters
agentNamerequiredstringAgent name.
queryoptionalAnalyticsQueryWindow/limit options.
getAgentLifecycle(agentName, query?)import { OpsClient } from '@uluops/ops-sdk';
const client = new OpsClient({
apiKey: 'ulr_your-api-key',
});
const result = await client.analytics.getAgentLifecycle('code-validator');Promise<AgentLifecycleEntry[]>client.analytics.getByMetric()
Generic analytics endpoint — fetch any metric by name (see ANALYTICS_METRICS / isValidMetric).
Parameters
metricrequiredAnalyticsMetricMetric name (see ANALYTICS_METRICS).
queryoptionalAnalyticsQueryWindow/limit options.
getByMetric(metric, query?)import { OpsClient } from '@uluops/ops-sdk';
const client = new OpsClient({
apiKey: 'ulr_your-api-key',
});
const result = await client.analytics.getByMetric('validator_performance');Promise<unknown>