UNPKG

touchdesigner-mcp-server

Version:
91 lines (90 loc) 3.55 kB
/** * Compatibility is decided by comparing the connected TouchDesigner * component's API version against the API version this release ships with * (`mcpCompatibility.expectedApiVersion`), bounded below by * `mcpCompatibility.minApiVersion`. * * The npm package version is deliberately NOT part of the decision: the * package version and the API version are independent axes, so a package * major bump alone must never invalidate deployed components. */ export declare const COMPATIBILITY_POLICY_TYPES: { readonly BELOW_MIN_VERSION: "belowMinVersion"; readonly COMPATIBLE: "compatible"; readonly COMPONENT_NEWER: "componentNewer"; readonly COMPONENT_OUTDATED: "componentOutdated"; readonly NO_VERSION: "noVersion"; readonly SERVER_OUTDATED: "serverOutdated"; }; export declare const COMPATIBILITY_POLICY_ERROR_LEVELS: { readonly ALLOW: "info"; readonly ERROR: "error"; readonly WARNING: "warning"; }; export type CompatibilityPolicyType = (typeof COMPATIBILITY_POLICY_TYPES)[keyof typeof COMPATIBILITY_POLICY_TYPES]; export type CompatibilityPolicyErrorLevel = (typeof COMPATIBILITY_POLICY_ERROR_LEVELS)[keyof typeof COMPATIBILITY_POLICY_ERROR_LEVELS]; /** * Arguments shared by every compatibility message generator */ export interface CompatibilityMessageArgs { apiVersion: string; expectedApiVersion: string; mcpVersion: string; minRequired: string; } export declare const getCompatibilityPolicyType: (params: { apiVersion: string; expectedApiVersion: string; }) => CompatibilityPolicyType; export declare const getCompatibilityPolicy: (type: CompatibilityPolicyType) => { readonly compatible: false; readonly level: "error"; readonly message: typeof generateNoVersionMessage; } | { readonly compatible: false; readonly level: "error"; readonly message: typeof generateMinVersionMessage; } | { readonly compatible: false; readonly level: "error"; readonly message: typeof generateServerOutdatedMessage; } | { readonly compatible: true; readonly level: "warning"; readonly message: typeof generateComponentOutdatedMessage; } | { readonly compatible: true; readonly level: "warning"; readonly message: typeof generateComponentNewerMessage; } | { readonly compatible: true; readonly level: "info"; readonly message: typeof generateFullyCompatibleMessage; }; /** * Generate error message for unknown version information */ export declare function generateNoVersionMessage(args: CompatibilityMessageArgs): string; /** * Generate error message when API version is below minimum compatible version */ export declare function generateMinVersionMessage(args: CompatibilityMessageArgs): string; /** * Generate error message when the component's API generation is newer than * this MCP server release supports */ export declare function generateServerOutdatedMessage(args: CompatibilityMessageArgs): string; /** * Generate warning message when the component is older than the API version * this release ships with */ export declare function generateComponentOutdatedMessage(args: CompatibilityMessageArgs): string; /** * Generate warning message when the component is newer than the API version * this release ships with (same generation) */ export declare function generateComponentNewerMessage(args: CompatibilityMessageArgs): string; /** * Generate info message when versions are fully compatible */ export declare function generateFullyCompatibleMessage(args: CompatibilityMessageArgs): string;