ComponentMetadataFileSchema
const ComponentMetadataFileSchema: ZodObject<{ components: ZodRecord<ZodString, ZodDiscriminatedUnion<"kind", [ZodObject<{ analysis: ZodArray<ZodObject<{ components: ZodArray<..., ...>; directives: ZodArray<..., ...>; exportedFunctions: ZodArray<..., ...>; exportedTypes: ZodArray<..., ...>; filePath: ZodString; pipes: ZodArray<..., ...>; services: ZodArray<..., ...>; }, "strip", ZodTypeAny, { components: ...[]; directives: ...[]; exportedFunctions: ...[]; exportedTypes: ...[]; filePath: string; pipes: ...[]; services: ...[]; }, { components: ...[]; directives: ...[]; exportedFunctions: ...[]; exportedTypes: ...[]; filePath: string; pipes: ...[]; services: ...[]; }>, "many">; commonPatterns: ZodOptional<ZodArray<ZodString, "many">>; configTokens: ZodOptional<ZodArray<ZodObject<{ configKey: ...; defaultValues: ...; filePath: ...; interface: ...; kind: ...; properties: ...; token: ...; }, "strip", ZodTypeAny, { configKey?: ...; defaultValues?: ...; filePath: ...; interface: ...; kind?: ...; properties: ...; token: ...; }, { configKey?: ...; defaultValues?: ...; filePath: ...; interface: ...; kind?: ...; properties: ...; token: ...; }>, "many">>; contentProjection: ZodOptional<ZodArray<ZodObject<{ multiple: ...; name: ...; required: ...; selector: ...; selectorAlternates: ...; }, "strip", ZodTypeAny, { multiple: ...; name: ...; required: ...; selector?: ...; selectorAlternates?: ...; }, { multiple: ...; name: ...; required: ...; selector?: ...; selectorAlternates?: ...; }>, "many">>; dependencies: ZodObject<{ optional: ZodArray<ZodString, "many">; providers: ZodObject<{ optional: ...; required: ...; }, "strip", ZodTypeAny, { optional: ...; required: ...; }, { optional: ...; required: ...; }>; required: ZodArray<ZodString, "many">; }, "strip", ZodTypeAny, { optional: string[]; providers: { optional: ...[]; required: ...[]; }; required: string[]; }, { optional: string[]; providers: { optional: ...[]; required: ...[]; }; required: string[]; }>; deprecation: ZodOptional<ZodObject<{ deprecated: ZodLiteral<...>; reason: ZodOptional<...>; removeIn: ZodOptional<...>; replacement: ZodOptional<...>; since: ZodOptional<...>; }, "strip", ZodTypeAny, { deprecated: true; reason?: ... | ...; removeIn?: ... | ...; replacement?: ... | ...; since?: ... | ...; }, { deprecated: true; reason?: ... | ...; removeIn?: ... | ...; replacement?: ... | ...; since?: ... | ...; }>>; examples: ZodArray<ZodObject<{ description: ZodString; name: ZodString; scss: ZodOptional<...>; template: ZodOptional<...>; typescript: ZodOptional<...>; }, "strip", ZodTypeAny, { description: string; name: string; scss?: ... | ...; template?: ... | ...; typescript?: ... | ...; }, { description: string; name: string; scss?: ... | ...; template?: ... | ...; typescript?: ... | ...; }>, "many">; exports: ZodArray<ZodString, "many">; files: ZodArray<ZodString, "many">; importsFrom: ZodOptional<ZodArray<ZodString, "many">>; inheritance: ZodOptional<ZodRecord<ZodString, ZodObject<{ baseClass: ...; baseClassPath: ...; inheritedInputs: ...; inheritedOutputs: ...; mixins: ...; }, "strip", ZodTypeAny, { baseClass?: ...; baseClassPath?: ...; inheritedInputs: ...; inheritedOutputs: ...; mixins: ...; }, { baseClass?: ...; baseClassPath?: ...; inheritedInputs: ...; inheritedOutputs: ...; mixins: ...; }>>>; inheritanceResolved: ZodBoolean; kind: ZodLiteral<"analyzed">; llmSummary: ZodOptional<ZodString>; name: ZodString; readme: ZodOptional<ZodString>; relatedComponents: ZodOptional<ZodArray<ZodObject<{ name: ...; reason: ...; relationship: ...; }, "strip", ZodTypeAny, { name: ...; reason: ...; relationship: ...; }, { name: ...; reason: ...; relationship: ...; }>, "many">>; storybookExamples: ZodOptional<ZodArray<ZodObject<{ args: ...; argTypes: ...; filePath: ...; storyName: ...; template: ...; usedComponentRefs: ...; usedComponents: ...; }, "strip", ZodTypeAny, { args: ...; argTypes?: ...; filePath: ...; storyName: ...; template: ...; usedComponentRefs?: ...; usedComponents: ...; }, { args: ...; argTypes?: ...; filePath: ...; storyName: ...; template: ...; usedComponentRefs?: ...; usedComponents: ...; }>, "many">>; }, "strip", ZodTypeAny, { analysis: { components: { className: ...; dependencies: ...; exportedTypes: ...; filePath: ...; inputs: ...; jsDocDescription?: ...; lifecycleHooks: ...; metadata: ...; outputs: ...; publicMethods: ...; }[]; directives: { className: ...; dependencies: ...; exportedTypes: ...; filePath: ...; inputs: ...; jsDocDescription?: ...; lifecycleHooks: ...; metadata: ...; outputs: ...; publicMethods: ...; }[]; exportedFunctions: { description?: ...; isAsync: ...; name: ...; parameters: ...; returnType: ...; returnTypeResolved: ...; }[]; exportedTypes: (... | ... | ... | ...)[]; filePath: string; pipes: { className: ...; pipeName: ...; pure: ...; standalone: ...; transformMethod?: ...; }[]; services: { className: ...; dependencies: ...; providedIn?: ...; publicMethods: ...; }[]; }[]; commonPatterns?: string[]; configTokens?: { configKey?: ... | ...; defaultValues?: ... | ...; filePath: string; interface: string; kind?: ... | ... | ...; properties: ...[]; token: string; }[]; contentProjection?: { multiple: boolean; name: string; required: boolean; selector?: ... | ...; selectorAlternates?: ... | ...; }[]; dependencies: { optional: string[]; providers: { optional: string[]; required: string[]; }; required: string[]; }; deprecation?: { deprecated: true; reason?: string; removeIn?: string; replacement?: string; since?: string; }; examples: { description: string; name: string; scss?: string; template?: string; typescript?: string; }[]; exports: string[]; files: string[]; importsFrom?: string[]; inheritance?: Record<string, { baseClass?: ... | ...; baseClassPath?: ... | ...; inheritedInputs: ...[]; inheritedOutputs: ...[]; mixins: ...[]; }>; inheritanceResolved: boolean; kind: "analyzed"; llmSummary?: string; name: string; readme?: string; relatedComponents?: { name: string; reason: string; relationship: ... | ... | ...; }[]; storybookExamples?: { args: Record<..., ...>; argTypes?: ... | ...; filePath: string; storyName: string; template: string; usedComponentRefs?: ... | ...; usedComponents: ...[]; }[]; }, { analysis: { components: { className: ...; dependencies: ...; exportedTypes: ...; filePath: ...; inputs: ...; jsDocDescription?: ...; lifecycleHooks: ...; metadata: ...; outputs: ...; publicMethods: ...; }[]; directives: { className: ...; dependencies: ...; exportedTypes: ...; filePath: ...; inputs: ...; jsDocDescription?: ...; lifecycleHooks: ...; metadata: ...; outputs: ...; publicMethods: ...; }[]; exportedFunctions: { description?: ...; isAsync: ...; name: ...; parameters: ...; returnType: ...; returnTypeResolved: ...; }[]; exportedTypes: (... | ... | ... | ...)[]; filePath: string; pipes: { className: ...; pipeName: ...; pure: ...; standalone: ...; transformMethod?: ...; }[]; services: { className: ...; dependencies: ...; providedIn?: ...; publicMethods: ...; }[]; }[]; commonPatterns?: string[]; configTokens?: { configKey?: ... | ...; defaultValues?: ... | ...; filePath: string; interface: string; kind?: ... | ... | ...; properties: ...[]; token: string; }[]; contentProjection?: { multiple: boolean; name: string; required: boolean; selector?: ... | ...; selectorAlternates?: ... | ...; }[]; dependencies: { optional: string[]; providers: { optional: string[]; required: string[]; }; required: string[]; }; deprecation?: { deprecated: true; reason?: string; removeIn?: string; replacement?: string; since?: string; }; examples: { description: string; name: string; scss?: string; template?: string; typescript?: string; }[]; exports: string[]; files: string[]; importsFrom?: string[]; inheritance?: Record<string, { baseClass?: ... | ...; baseClassPath?: ... | ...; inheritedInputs: ...[]; inheritedOutputs: ...[]; mixins: ...[]; }>; inheritanceResolved: boolean; kind: "analyzed"; llmSummary?: string; name: string; readme?: string; relatedComponents?: { name: string; reason: string; relationship: ... | ... | ...; }[]; storybookExamples?: { args: Record<..., ...>; argTypes?: ... | ...; filePath: string; storyName: string; template: string; usedComponentRefs?: ... | ...; usedComponents: ...[]; }[]; }>, ZodObject<{ kind: ZodLiteral<"skipped">; name: ZodString; reason: ZodString; }, "strip", ZodTypeAny, { kind: "skipped"; name: string; reason: string; }, { kind: "skipped"; name: string; reason: string; }>, ZodObject<{ kind: ZodLiteral<"failed">; name: ZodString; reason: ZodString; }, "strip", ZodTypeAny, { kind: "failed"; name: string; reason: string; }, { kind: "failed"; name: string; reason: string; }>]>>; componentsPath: ZodString; diagnostics: ZodOptional<ZodArray<ZodObject<{ code: ZodString; component: ZodOptional<ZodString>; file: ZodOptional<ZodString>; message: ZodString; severity: ZodEnum<["error", "warn"]>; stack: ZodOptional<ZodString>; }, "strip", ZodTypeAny, { code: string; component?: string; file?: string; message: string; severity: "error" | "warn"; stack?: string; }, { code: string; component?: string; file?: string; message: string; severity: "error" | "warn"; stack?: string; }>, "many">>; framework: ZodOptional<ZodEnum<["angular", "react"]>>; generatedAt: ZodString; importPrefix: ZodOptional<ZodString>; libraryDocumentation: ZodOptional<ZodString>; libraryName: ZodOptional<ZodString>; selectorMap: ZodOptional<ZodRecord<ZodString, ZodObject<{ component: ZodString; configRequired: ZodOptional<ZodArray<ZodString, "many">>; deprecated: ZodOptional<ZodBoolean>; formControl: ZodOptional<ZodBoolean>; hasContentSlots: ZodOptional<ZodBoolean>; mainInputs: ZodArray<ZodString, "many">; mainOutputs: ZodArray<ZodString, "many">; type: ZodOptional<ZodEnum<["component", "directive"]>>; }, "strip", ZodTypeAny, { component: string; configRequired?: string[]; deprecated?: boolean; formControl?: boolean; hasContentSlots?: boolean; mainInputs: string[]; mainOutputs: string[]; type?: "component" | "directive"; }, { component: string; configRequired?: string[]; deprecated?: boolean; formControl?: boolean; hasContentSlots?: boolean; mainInputs: string[]; mainOutputs: string[]; type?: "component" | "directive"; }>>>; version: ZodString;}, "strip", ZodTypeAny, { components: Record<string, | { analysis: { components: { className: string; dependencies: (... | ...)[]; exportedTypes: (... | ... | ... | ...)[]; filePath: string; inputs: (... | ...)[]; jsDocDescription?: string; lifecycleHooks: { implemented: ...; name: ...; }[]; metadata: { changeDetection?: ... | ... | ... | ...; encapsulation?: ... | ... | ... | ... | ...; exportAs?: ... | ...; imports?: ... | ...; providers?: ... | ...; selector: string; standalone: boolean; styleUrls?: ... | ...; template?: ... | ...; templateUrl?: ... | ...; }; outputs: { alias?: ...; description?: ...; eventType: ...; eventTypeResolved: ...; name: ...; }[]; publicMethods: { description?: ...; isAsync: ...; name: ...; parameters: ...; returnType: ...; returnTypeResolved: ...; }[]; }[]; directives: { className: string; dependencies: (... | ...)[]; exportedTypes: (... | ... | ... | ...)[]; filePath: string; inputs: (... | ...)[]; jsDocDescription?: string; lifecycleHooks: { implemented: ...; name: ...; }[]; metadata: { changeDetection?: ... | ... | ... | ...; encapsulation?: ... | ... | ... | ... | ...; exportAs?: ... | ...; imports?: ... | ...; providers?: ... | ...; selector: string; standalone: boolean; styleUrls?: ... | ...; template?: ... | ...; templateUrl?: ... | ...; }; outputs: { alias?: ...; description?: ...; eventType: ...; eventTypeResolved: ...; name: ...; }[]; publicMethods: { description?: ...; isAsync: ...; name: ...; parameters: ...; returnType: ...; returnTypeResolved: ...; }[]; }[]; exportedFunctions: { description?: string; isAsync: boolean; name: string; parameters: { defaultValue?: ...; name: ...; optional: ...; type: ...; typeResolved: ...; }[]; returnType: string | null; returnTypeResolved: boolean; }[]; exportedTypes: ( | { definition: string; kind: "interface"; members?: ... | ...; name: string; } | { definition: string; kind: "class"; members?: ... | ...; name: string; } | { definition: string; kind: "type"; name: string; } | { definition: string; kind: "enum"; members?: ... | ...; name: string; })[]; filePath: string; pipes: { className: string; pipeName: string; pure: boolean; standalone: boolean; transformMethod?: { description?: ...; isAsync: ...; name: ...; parameters: ...; returnType: ...; returnTypeResolved: ...; }; }[]; services: { className: string; dependencies: (... | ...)[]; providedIn?: "root" | "platform" | "any" | null; publicMethods: { description?: ...; isAsync: ...; name: ...; parameters: ...; returnType: ...; returnTypeResolved: ...; }[]; }[]; }[]; commonPatterns?: string[]; configTokens?: { configKey?: string; defaultValues?: Record<string, unknown>; filePath: string; interface: string; kind?: "injection-token" | "with-config"; properties: { description?: ... | ...; name: string; optional: boolean; type: ... | ...; typeResolved: boolean; }[]; token: string; }[]; contentProjection?: { multiple: boolean; name: string; required: boolean; selector?: string; selectorAlternates?: string[]; }[]; dependencies: { optional: string[]; providers: { optional: string[]; required: string[]; }; required: string[]; }; deprecation?: { deprecated: true; reason?: string; removeIn?: string; replacement?: string; since?: string; }; examples: { description: string; name: string; scss?: string; template?: string; typescript?: string; }[]; exports: string[]; files: string[]; importsFrom?: string[]; inheritance?: Record<string, { baseClass?: string; baseClassPath?: string; inheritedInputs: ( | { alias?: ...; description?: ...; name: ...; required: ...; resolvedValues: ...; transform?: ...; type: ...; typeResolved: ...; } | { alias?: ...; defaultValue?: ...; description?: ...; name: ...; required: ...; resolvedValues: ...; transform?: ...; type: ...; typeResolved: ...; })[]; inheritedOutputs: { alias?: ... | ...; description?: ... | ...; eventType: ... | ...; eventTypeResolved: boolean; name: string; }[]; mixins: string[]; }>; inheritanceResolved: boolean; kind: "analyzed"; llmSummary?: string; name: string; readme?: string; relatedComponents?: { name: string; reason: string; relationship: "requires" | "often-used-with" | "alternative-to"; }[]; storybookExamples?: { args: Record<string, unknown>; argTypes?: Record<string, { options?: ...; }>; filePath: string; storyName: string; template: string; usedComponentRefs?: { kind: ...; selector: ...; }[]; usedComponents: string[]; }[]; } | { kind: "skipped"; name: string; reason: string; } | { kind: "failed"; name: string; reason: string; }>; componentsPath: string; diagnostics?: { code: string; component?: string; file?: string; message: string; severity: "error" | "warn"; stack?: string; }[]; framework?: "angular" | "react"; generatedAt: string; importPrefix?: string; libraryDocumentation?: string; libraryName?: string; selectorMap?: Record<string, { component: string; configRequired?: string[]; deprecated?: boolean; formControl?: boolean; hasContentSlots?: boolean; mainInputs: string[]; mainOutputs: string[]; type?: "component" | "directive"; }>; version: string;}, { components: Record<string, | { analysis: { components: { className: string; dependencies: (... | ...)[]; exportedTypes: (... | ... | ... | ...)[]; filePath: string; inputs: (... | ...)[]; jsDocDescription?: string; lifecycleHooks: { implemented: ...; name: ...; }[]; metadata: { changeDetection?: ... | ... | ... | ...; encapsulation?: ... | ... | ... | ... | ...; exportAs?: ... | ...; imports?: ... | ...; providers?: ... | ...; selector: string; standalone: boolean; styleUrls?: ... | ...; template?: ... | ...; templateUrl?: ... | ...; }; outputs: { alias?: ...; description?: ...; eventType: ...; eventTypeResolved: ...; name: ...; }[]; publicMethods: { description?: ...; isAsync: ...; name: ...; parameters: ...; returnType: ...; returnTypeResolved: ...; }[]; }[]; directives: { className: string; dependencies: (... | ...)[]; exportedTypes: (... | ... | ... | ...)[]; filePath: string; inputs: (... | ...)[]; jsDocDescription?: string; lifecycleHooks: { implemented: ...; name: ...; }[]; metadata: { changeDetection?: ... | ... | ... | ...; encapsulation?: ... | ... | ... | ... | ...; exportAs?: ... | ...; imports?: ... | ...; providers?: ... | ...; selector: string; standalone: boolean; styleUrls?: ... | ...; template?: ... | ...; templateUrl?: ... | ...; }; outputs: { alias?: ...; description?: ...; eventType: ...; eventTypeResolved: ...; name: ...; }[]; publicMethods: { description?: ...; isAsync: ...; name: ...; parameters: ...; returnType: ...; returnTypeResolved: ...; }[]; }[]; exportedFunctions: { description?: string; isAsync: boolean; name: string; parameters: { defaultValue?: ...; name: ...; optional: ...; type: ...; typeResolved: ...; }[]; returnType: string | null; returnTypeResolved: boolean; }[]; exportedTypes: ( | { definition: string; kind: "interface"; members?: ... | ...; name: string; } | { definition: string; kind: "class"; members?: ... | ...; name: string; } | { definition: string; kind: "type"; name: string; } | { definition: string; kind: "enum"; members?: ... | ...; name: string; })[]; filePath: string; pipes: { className: string; pipeName: string; pure: boolean; standalone: boolean; transformMethod?: { description?: ...; isAsync: ...; name: ...; parameters: ...; returnType: ...; returnTypeResolved: ...; }; }[]; services: { className: string; dependencies: (... | ...)[]; providedIn?: "root" | "platform" | "any" | null; publicMethods: { description?: ...; isAsync: ...; name: ...; parameters: ...; returnType: ...; returnTypeResolved: ...; }[]; }[]; }[]; commonPatterns?: string[]; configTokens?: { configKey?: string; defaultValues?: Record<string, unknown>; filePath: string; interface: string; kind?: "injection-token" | "with-config"; properties: { description?: ... | ...; name: string; optional: boolean; type: ... | ...; typeResolved: boolean; }[]; token: string; }[]; contentProjection?: { multiple: boolean; name: string; required: boolean; selector?: string; selectorAlternates?: string[]; }[]; dependencies: { optional: string[]; providers: { optional: string[]; required: string[]; }; required: string[]; }; deprecation?: { deprecated: true; reason?: string; removeIn?: string; replacement?: string; since?: string; }; examples: { description: string; name: string; scss?: string; template?: string; typescript?: string; }[]; exports: string[]; files: string[]; importsFrom?: string[]; inheritance?: Record<string, { baseClass?: string; baseClassPath?: string; inheritedInputs: ( | { alias?: ...; description?: ...; name: ...; required: ...; resolvedValues: ...; transform?: ...; type: ...; typeResolved: ...; } | { alias?: ...; defaultValue?: ...; description?: ...; name: ...; required: ...; resolvedValues: ...; transform?: ...; type: ...; typeResolved: ...; })[]; inheritedOutputs: { alias?: ... | ...; description?: ... | ...; eventType: ... | ...; eventTypeResolved: boolean; name: string; }[]; mixins: string[]; }>; inheritanceResolved: boolean; kind: "analyzed"; llmSummary?: string; name: string; readme?: string; relatedComponents?: { name: string; reason: string; relationship: "requires" | "often-used-with" | "alternative-to"; }[]; storybookExamples?: { args: Record<string, unknown>; argTypes?: Record<string, { options?: ...; }>; filePath: string; storyName: string; template: string; usedComponentRefs?: { kind: ...; selector: ...; }[]; usedComponents: string[]; }[]; } | { kind: "skipped"; name: string; reason: string; } | { kind: "failed"; name: string; reason: string; }>; componentsPath: string; diagnostics?: { code: string; component?: string; file?: string; message: string; severity: "error" | "warn"; stack?: string; }[]; framework?: "angular" | "react"; generatedAt: string; importPrefix?: string; libraryDocumentation?: string; libraryName?: string; selectorMap?: Record<string, { component: string; configRequired?: string[]; deprecated?: boolean; formControl?: boolean; hasContentSlots?: boolean; mainInputs: string[]; mainOutputs: string[]; type?: "component" | "directive"; }>; version: string;}>;Defined in: packages/core/src/data/schema.ts:362