Skip to main content
Glama
runs.ts3.17 kB
/** * @fileoverview Run-related models * This module defines interfaces for DeepSource analysis runs. */ import { DeepSourceIssue } from './issues.js'; import { PaginationParams, PaginatedResponse } from '../utils/pagination/types.js'; import { AnalyzerShortcode, BranchName, CommitOid, GraphQLNodeId, RunId, } from '../types/branded.js'; /** * Distribution of occurrences by analyzer type * @public */ export interface OccurrenceDistributionByAnalyzer { /** Shortcode of the analyzer */ analyzerShortcode: AnalyzerShortcode; /** Number of issues introduced */ introduced: number; } /** * Distribution of occurrences by category * @public */ export interface OccurrenceDistributionByCategory { /** Category of the issues */ category: string; /** Number of issues introduced */ introduced: number; } /** * Summary of an analysis run, including counts of issues * @public */ export interface RunSummary { /** Number of new issues introduced in this run */ occurrencesIntroduced: number; /** Number of issues resolved in this run */ occurrencesResolved: number; /** Number of issues suppressed in this run */ occurrencesSuppressed: number; /** Distribution of issues by analyzer */ occurrenceDistributionByAnalyzer?: OccurrenceDistributionByAnalyzer[]; /** Distribution of issues by category */ occurrenceDistributionByCategory?: OccurrenceDistributionByCategory[]; } /** * Possible status values for an analysis run * Using a type instead of enum to avoid unused enum values linting errors * @public */ export type AnalysisRunStatus = | 'PENDING' | 'SUCCESS' | 'FAILURE' | 'TIMEOUT' | 'CANCEL' | 'READY' | 'SKIPPED'; /** * Represents a DeepSource analysis run * @public */ export interface DeepSourceRun { /** Internal ID of the run */ id: GraphQLNodeId; /** Unique identifier for the run */ runUid: RunId; /** Commit hash that this run analyzed */ commitOid: CommitOid; /** Branch name for the run */ branchName: BranchName; /** Base commit hash used for comparison */ baseOid: CommitOid; /** Current status of the run */ status: AnalysisRunStatus; /** Timestamp when the run was created */ createdAt: string; /** Timestamp when the run was last updated */ updatedAt: string; /** Timestamp when the run was finished (if completed) */ finishedAt?: string; /** Summary of results from the run */ summary: RunSummary; /** Repository information */ repository: { /** Repository name */ name: string; /** Repository ID */ id: GraphQLNodeId; }; } /** * Parameters for filtering runs * @public */ export interface RunFilterParams extends PaginationParams { /** Filter runs by analyzer shortcodes (e.g. ["python", "javascript"]) */ analyzerIn?: AnalyzerShortcode[]; } /** * Response containing a list of runs with pagination * @public */ export type RunsResponse = PaginatedResponse<DeepSourceRun>; /** * Response structure for recent run issues * @public */ export interface RecentRunIssuesResponse extends PaginatedResponse<DeepSourceIssue> { /** The most recent run for the branch */ run: DeepSourceRun; }

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/sapientpants/deepsource-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server