/** * @file esm-normalize.utils.ts * @description Utilities to normalize raw ESM module exports into typed definitions * usable by the ESM instance factories. * * Handles plain object exports with execute/read functions. * Decorated classes (@Tool/@Resource/@Prompt) are detected separately via * `isDecoratedToolClass` etc. and handled by the standard normalization path * in AppEsmInstance (full DI support). */ import type { EsmToolDefinition, EsmResourceDefinition, EsmPromptDefinition } from '../../esm-loader/factories'; /** * Check if a raw ESM export is a class decorated with @App. * Detects standard FrontMCP @App-decorated classes loaded from npm packages. */ export declare function isDecoratedAppClass(raw: unknown): boolean; /** * Check if a raw ESM export is a class decorated with @Tool. * Uses the actual Symbol tokens from FrontMcpToolTokens (not string keys). */ export declare function isDecoratedToolClass(raw: unknown): boolean; /** * Check if a raw ESM export is a class decorated with @Resource. */ export declare function isDecoratedResourceClass(raw: unknown): boolean; /** * Check if a raw ESM export is a class decorated with @Prompt. */ export declare function isDecoratedPromptClass(raw: unknown): boolean; /** * Check if a raw ESM export is a class decorated with @Skill. */ export declare function isDecoratedSkillClass(raw: unknown): boolean; /** * Check if a raw ESM export is a class decorated with @Job. */ export declare function isDecoratedJobClass(raw: unknown): boolean; /** * Check if a raw ESM export is a class decorated with @Agent. */ export declare function isDecoratedAgentClass(raw: unknown): boolean; /** * Check if a raw ESM export is a class decorated with @Workflow. */ export declare function isDecoratedWorkflowClass(raw: unknown): boolean; /** * Normalize a raw tool export from an ESM module into an EsmToolDefinition. * * Only handles plain objects: { name, description?, inputSchema?, execute }. * Decorated classes are detected by `isDecoratedToolClass()` and handled * through the standard `normalizeTool()` path in AppEsmInstance. * * @returns Normalized tool definition, or undefined if the export is not a valid plain-object tool */ export declare function normalizeToolFromEsmExport(raw: unknown): EsmToolDefinition | undefined; /** * Normalize a raw resource export from an ESM module into an EsmResourceDefinition. * * Only handles plain objects: { name, description?, uri, mimeType?, read }. * Decorated classes are detected by `isDecoratedResourceClass()` and handled * through the standard `normalizeResource()` path in AppEsmInstance. */ export declare function normalizeResourceFromEsmExport(raw: unknown): EsmResourceDefinition | undefined; /** * Normalize a raw prompt export from an ESM module into an EsmPromptDefinition. * * Only handles plain objects: { name, description?, arguments?, execute }. * Decorated classes are detected by `isDecoratedPromptClass()` and handled * through the standard `normalizePrompt()` path in AppEsmInstance. */ export declare function normalizePromptFromEsmExport(raw: unknown): EsmPromptDefinition | undefined; //# sourceMappingURL=esm-normalize.utils.d.ts.map