mcp-harbor
Version:
A Node.js application for connecting to Harbor and providing operations capabilities.
85 lines (84 loc) • 2.22 kB
TypeScript
export declare class HarborError extends Error {
readonly code: number;
readonly data?: unknown;
readonly name: string;
constructor(message: string, code?: number);
}
export declare class ValidationError extends HarborError {
readonly name: string;
constructor(message: string);
}
export declare class ResourceError extends HarborError {
readonly name: string;
constructor(message: string);
}
export interface HarborMetadata {
public?: string;
enable_content_trust?: string;
prevent_vul?: string;
severity?: string;
auto_scan?: string;
}
export interface HarborRepository {
name: string;
project_id?: number;
artifact_count?: number;
creation_time?: string;
update_time?: string;
}
export interface HarborArtifactTag {
id: number;
name: string;
push_time: string;
pull_time: string;
immutable: boolean;
repository_id?: number;
artifact_id?: number;
signed?: boolean;
}
export interface HarborArtifact {
digest: string;
tags?: HarborArtifactTag[];
size?: number;
push_time?: string;
pull_time?: string;
update_time?: string;
type?: string;
project_id?: number;
repository_id?: number;
id?: number;
}
export interface HarborChart {
name: string;
total_versions: number;
latest_version: string;
created: string;
updated: string;
}
export interface HarborChartVersion {
name: string;
version: string;
created: string;
updated: string;
}
export declare const TOOL_NAMES: {
readonly LIST_PROJECTS: "list_projects";
readonly GET_PROJECT: "get_project";
readonly CREATE_PROJECT: "create_project";
readonly DELETE_PROJECT: "delete_project";
readonly LIST_REPOSITORIES: "list_repositories";
readonly DELETE_REPOSITORY: "delete_repository";
readonly LIST_TAGS: "list_tags";
readonly DELETE_TAG: "delete_tag";
readonly LIST_CHARTS: "list_charts";
readonly LIST_CHART_VERSIONS: "list_chart_versions";
readonly DELETE_CHART: "delete_chart";
};
export interface DeleteResponse {
success: boolean;
message: string;
}
export interface ProjectData {
project_name: string;
metadata?: HarborMetadata;
}