Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 1 addition & 11 deletions src/api/ConfigurationsApi.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,5 @@
import { useApiQuery } from './ApiUtils';
import { type TierConfigResponse, type GeneralConfigResponse } from './models';

/**
* Get tier configuration data (requirements and scoring parameters)
* Uses the /configurations/tiers endpoint
*/
export const useTierConfigurations = () =>
useApiQuery<TierConfigResponse>(
'useTierConfigurations',
'/configurations/tiers',
);
import { type GeneralConfigResponse } from './models';

/**
* Get general configuration data (branding, scoring parameters, thresholds)
Expand Down
23 changes: 0 additions & 23 deletions src/api/PredictionsApi.ts

This file was deleted.

12 changes: 11 additions & 1 deletion src/api/ReposApi.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
// Repository API hooks - uses /repos endpoints
import { useApiQuery } from './ApiUtils';
import { type RepositoryMaintainer, type RepositoryIssue } from './models';
import { type CommitLog } from './models/Dashboard';
import { type CommitLog, type Repository } from './models/Dashboard';

/**
* Helper to create /repos endpoint queries
Expand All @@ -19,6 +19,16 @@ const useReposQuery = <TResponse = void, TSelect = TResponse>(
queryParams,
);

/**
* Get config for a specific repository (weight, additional branches, etc.)
* @param repo - Full repository name (e.g., "opentensor/btcli")
*/
export const useRepositoryConfig = (repo: string) =>
useReposQuery<Repository>(
'useRepositoryConfig',
`/${encodeURIComponent(repo)}`,
);

/**
* Get maintainers (assignees) for a specific repository
* @param repo - Full repository name (e.g., "opentensor/btcli")
Expand Down
1 change: 0 additions & 1 deletion src/api/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ export * from './ConfigurationsApi';
export * from './DashboardApi';
export * from './IssuesApi';
export * from './MinerApi';
export * from './PredictionsApi';
export * from './PrsApi';
export * from './ReposApi';
export * from './SearchApi';
Expand Down
19 changes: 0 additions & 19 deletions src/api/models/Configurations.ts
Original file line number Diff line number Diff line change
@@ -1,22 +1,3 @@
export interface TierConfig {
name: string;
level: number;
requiredCredibility: number;
requiredMinTokenScore: number | null;
requiredMinTokenScorePerRepo: number;
requiredQualifiedUniqueRepos: number;
credibilityScalar: number;
mergedPrBaseScore: number;
contributionScoreForFullBonus: number;
contributionScoreMaxBonus: number;
openPrCollateralPercentage: number;
}

export interface TierConfigResponse {
tiers: TierConfig[];
tierOrder: string[];
}

export interface LanguageFileScoring {
defaultProgrammingLanguageWeight: number;
testFileContributionWeight: number;
Expand Down
86 changes: 16 additions & 70 deletions src/api/models/Dashboard.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ export type RepoChanges = {
deletions: number;
linesChanged: number;
weight: string; // bc float
tier: string; // Bronze, Silver, Gold
inactiveAt: string | null;
};

Expand All @@ -14,7 +13,6 @@ export type Repository = {
owner: string;
name: string;
weight: string; // bc float
tier: string; // Bronze, Silver, Gold
additionalAcceptableBranches?: string[] | null;
inactiveAt?: string | null;
};
Expand All @@ -34,21 +32,13 @@ export type CommitsTrend = {
* Dashboard statistics
*
* API endpoint: GET /dash/stats
* Optional query parameter: tier (Bronze, Silver, or Gold) - filters all stats to specific repository tier
*
* Examples:
* - GET /dash/stats - returns overall stats
* - GET /dash/stats?tier=Bronze - returns stats filtered to Bronze tier repositories only
* - GET /dash/stats?tier=Silver - returns stats filtered to Silver tier repositories only
* - GET /dash/stats?tier=Gold - returns stats filtered to Gold tier repositories only
*/
export type Stats = {
uniqueRepositories: string | number;
totalLinesChanged: string | number;
recentLinesChanged: string | number;
totalIssues: number;
totalCommits: string | number;
tier?: string; // Returned when tier filter is applied
prices?: {
tao: {
data: {
Expand Down Expand Up @@ -93,31 +83,28 @@ export type CommitLog = {
githubId?: string; // Numeric GitHub ID - only present in /miners endpoints, not /dash/commits
score: string; // Backend returns as string
baseScore?: string; // Backend returns as string
tier: string | null; // Bronze, Silver, Gold - from joined repositories table (null if repo not registered)

// Score multiplier fields (from /miners/{id}/prs endpoint)
repoWeightMultiplier?: string;
issueMultiplier?: string;
openPrSpamMultiplier?: string;
pioneerDividend?: number;
pioneerRank?: number;
repositoryUniquenessMultiplier?: string;
timeDecayMultiplier?: string;
credibilityMultiplier?: string;

// Token scoring fields
totalNodesScored?: number;
rawCredibility?: number;
credibilityScalar?: number;
tokenScore?: number;
structuralCount?: number;
structuralScore?: number;
leafCount?: number;
leafScore?: number;

// TODO: these values do not come in the /dash/commits endpoint, refactor to perhaps make a new model to include these attributes
// Payout predictions (from /miners/all/prs endpoint)
// Note: dollar values are null for open PRs, only calculated for merged PRs
// Review quality
reviewQualityMultiplier?: string;

// Payout predictions
potentialScore?: number;
predictedAlphaPerDay?: number | null;
predictedTaoPerDay?: number | null;
Expand All @@ -137,63 +124,27 @@ export type MinerEvaluation = {
totalOpenPrs: number;
totalPrs: number;
uniqueReposCount: number;
qualifiedUniqueReposCount?: number;
// Tier system properties
currentTier?: string;
totalCollateralScore?: number;
totalClosedPrs?: number;
totalMergedPrs?: number;
// Eligibility gate
isEligible?: boolean;
credibility?: number;
// Issue discovery scoring
issueDiscoveryScore?: number;
issueTokenScore?: number;
issueCredibility?: number;
isIssueEligible?: boolean;
totalSolvedIssues?: number;
totalValidSolvedIssues?: number;
totalClosedIssues?: number;
totalOpenIssues?: number;
// Total token scoring fields
totalTokenScore?: number;
totalStructuralCount?: number;
totalStructuralScore?: number;
totalLeafCount?: number;
totalLeafScore?: number;
// Bronze tier
bronzeMergedPrs?: number;
bronzeClosedPrs?: number;
bronzeTotalPrs?: number;
bronzeCollateralScore?: number;
bronzeScore?: number;
bronzeTokenScore?: number;
bronzeStructuralCount?: number;
bronzeStructuralScore?: number;
bronzeLeafCount?: number;
bronzeLeafScore?: number;
// Silver tier
silverMergedPrs?: number;
silverClosedPrs?: number;
silverTotalPrs?: number;
silverCollateralScore?: number;
silverScore?: number;
silverTokenScore?: number;
silverStructuralCount?: number;
silverStructuralScore?: number;
silverLeafCount?: number;
silverLeafScore?: number;
// Gold tier
goldMergedPrs?: number;
goldClosedPrs?: number;
goldTotalPrs?: number;
goldCollateralScore?: number;
goldScore?: number;
goldTokenScore?: number;
goldStructuralCount?: number;
goldStructuralScore?: number;
goldLeafCount?: number;
goldLeafScore?: number;
// Credibility metrics (PR success rates as decimals 0-1)
credibility?: number;
bronzeCredibility?: number;
silverCredibility?: number;
goldCredibility?: number;
// Unique repo contribution counts per tier
bronzeUniqueRepos?: number;
bronzeQualifiedUniqueRepos?: number;
silverUniqueRepos?: number;
silverQualifiedUniqueRepos?: number;
goldUniqueRepos?: number;
goldQualifiedUniqueRepos?: number;
// Timestamps
evaluatedAt: string;
createdAt: string;
Expand Down Expand Up @@ -256,7 +207,6 @@ export type PullRequestDetails = {
openPrSpamMultiplier: string; // float returned as string
pioneerDividend: number;
pioneerRank: number;
repositoryUniquenessMultiplier: string; // float returned as string
timeDecayMultiplier: string; // float returned as string
credibilityMultiplier: string; // float returned as string
reviewQualityMultiplier?: string; // float returned as string
Expand All @@ -267,8 +217,6 @@ export type PullRequestDetails = {
commits: number;
// Token scoring fields
totalNodesScored: number;
rawCredibility: number;
credibilityScalar: number;
tokenScore: string;
structuralCount: number;
structuralScore: number;
Expand All @@ -279,9 +227,7 @@ export type PullRequestDetails = {
lastEditedAt: string | null;
createdAt: string;
updatedAt: string;
tier: string; // Bronze, Silver, Gold
// Predicted daily payouts based on potential score
// Note: dollar values are null for open PRs, only calculated for merged PRs
potentialScore?: number;
predictedAlphaPerDay?: number | null;
predictedTaoPerDay?: number | null;
Expand Down
8 changes: 0 additions & 8 deletions src/api/models/Predictions.ts

This file was deleted.

1 change: 0 additions & 1 deletion src/api/models/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,3 @@ export * from './Dashboard';
export * from './Issues';
export * from './Miner';
export * from './Configurations';
export * from './Predictions';
Loading
Loading