11/* eslint-disable import/no-unused-modules */
22import type { McpServer , RegisteredTool } from '@modelcontextprotocol/sdk/server/mcp.js' ;
33import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js' ;
4- import { z } from 'zod' ;
54
65import { BackstageCatalogApi } from './api/backstage-catalog-api' ;
6+ export type { IToolMetadata , RawToolMetadata } from './types/tool-metadata' ;
7+ import type { IToolMetadata } from './types/tool-metadata' ;
8+
9+ export interface ILogger {
10+ debug ( message : string , ...args : unknown [ ] ) : void ;
11+ info ( message : string , ...args : unknown [ ] ) : void ;
12+ warn ( message : string , ...args : unknown [ ] ) : void ;
13+ error ( message : string , ...args : unknown [ ] ) : void ;
14+ fatal ( message : string , ...args : unknown [ ] ) : void ;
15+ }
716
817export enum ApiStatus {
918 SUCCESS = 'success' ,
@@ -25,34 +34,30 @@ export interface IToolRegistrationContext {
2534
2635export type ToolRegistration = ( context : IToolRegistrationContext ) => RegisteredTool ;
2736
28- export interface ToolMetadata {
29- name : string ;
30- description : string ;
31- paramsSchema : z . ZodTypeAny ;
32- }
37+ // IToolMetadata is exported from src/types/tool-metadata.ts
3338
34- export interface Tool {
39+ export interface ITool {
3540 execute ( args : unknown , context : object ) : Promise < CallToolResult > ;
3641}
3742
38- export interface ToolMetadataProvider {
39- getMetadata ( toolClass : unknown ) : ToolMetadata | undefined ;
43+ export interface IToolMetadataProvider {
44+ getMetadata ( toolClass : ToolClass ) : IToolMetadata | undefined ;
4045}
4146
42- export interface ToolValidator {
43- validate ( metadata : ToolMetadata , file : string ) : void ;
47+ export interface IToolValidator {
48+ validate ( metadata : IToolMetadata , file : string ) : void ;
4449}
4550
46- export interface ToolRegistrar {
47- register ( toolClass : ToolConstructor , metadata : ToolMetadata ) : void ;
51+ export interface IToolRegistrar {
52+ register ( toolClass : ToolClass , metadata : IToolMetadata ) : void ;
4853}
4954
50- export interface ToolFactory {
51- loadTool ( filePath : string ) : Promise < ToolConstructor | undefined > ;
55+ export interface IToolFactory {
56+ loadTool ( filePath : string ) : Promise < IToolConstructor | undefined > ;
5257}
5358
54- export type ToolConstructor = {
59+ export interface IToolConstructor {
5560 execute ( args : unknown , context : object ) : Promise < CallToolResult > ;
56- } ;
61+ }
5762
58- export type ToolClass = ToolConstructor | undefined ;
63+ export type ToolClass = unknown ;
0 commit comments