@toolprint/hypertool-mcp
Version:
HyperTool MCP proxy server for routing requests between clients and multiple underlying MCP servers
84 lines • 2.68 kB
TypeScript
/**
* TypeScript interfaces for toolset configuration
*/
/**
* Dynamic tool reference that can specify a tool by namespacedName, refId, or both
*/
export type DynamicToolReference = {
/** Tool reference by namespaced name (e.g., 'git.status', 'docker.ps') */
namespacedName?: string;
/** Tool reference by unique hash identifier (e.g., 'abc123def456...') */
refId?: string;
};
/**
* Convert a DynamicToolReference to a string for validation/lookup
* Prefers namespacedName over refId if both are present
*/
export declare function resolveToolReference(ref: DynamicToolReference): string;
export interface ToolsetToolNote {
name: string;
note: string;
}
export interface ToolsetToolNotes {
toolRef: DynamicToolReference;
notes: ToolsetToolNote[];
}
/**
* Complete toolset configuration for user-generated toolsets
*/
export interface ToolsetConfig {
/** Configuration name/identifier */
name: string;
/** Human-readable description */
description?: string;
/** Configuration version (for future compatibility) */
version?: string;
/** Created timestamp (Date object or ISO string) */
createdAt?: Date | string;
/** Last modified timestamp (Date object or ISO string) */
lastModified?: Date | string;
/** Array of tool references in this toolset */
tools: DynamicToolReference[];
/** Array of tool notes for this toolset */
toolNotes?: ToolsetToolNotes[];
}
/**
* Toolset configuration validation result
*/
export interface ValidationResult {
/** Whether validation passed */
valid: boolean;
/** Validation errors */
errors: string[];
/** Validation warnings */
warnings: string[];
/** Suggested fixes */
suggestions?: string[];
}
/**
* Toolset configuration parser options
*/
export interface ToolsetParserOptions {
/** Whether to validate against available servers */
validateServers?: boolean;
/** Whether to resolve tool references */
resolveTools?: boolean;
/** Whether to enable strict mode */
strict?: boolean;
/** Custom schema validation */
customValidation?: (config: ToolsetConfig) => ValidationResult;
}
/**
* Event emitted when a toolset changes
*/
export interface ToolsetChangeEvent {
/** The previously active toolset (null if none was active) */
previousToolset: ToolsetConfig | null;
/** The newly active toolset (null if toolset was unequipped) */
newToolset: ToolsetConfig | null;
/** Type of change that occurred */
changeType: "equipped" | "updated" | "unequipped";
/** Timestamp when the change occurred */
timestamp?: Date;
}
//# sourceMappingURL=types.d.ts.map