UNPKG

@samchon/openapi

Version:

OpenAPI definitions and converters for 'typia' and 'nestia'.

61 lines (55 loc) 2.02 kB
import { OpenApi } from "../../OpenApi"; import { IDeepSeekSchema } from "../../structures/IDeepSeekSchema"; import { ILlmFunction } from "../../structures/ILlmFunction"; import { IOpenApiSchemaError } from "../../structures/IOpenApiSchemaError"; import { IResult } from "../../structures/IResult"; import { LlmSchemaV3_1Composer } from "./LlmSchemaV3_1Composer"; export namespace DeepSeekSchemaComposer { /** * @internal */ export const IS_DEFS = true; export const parameters = (props: { config: IDeepSeekSchema.IConfig; components: OpenApi.IComponents; schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference; accessor?: string; refAccessor?: string; }): IResult<IDeepSeekSchema.IParameters, IOpenApiSchemaError> => LlmSchemaV3_1Composer.parameters({ ...props, config: { reference: props.config.reference, constraint: true, }, }); export const schema = (props: { config: IDeepSeekSchema.IConfig; components: OpenApi.IComponents; $defs: Record<string, IDeepSeekSchema>; schema: OpenApi.IJsonSchema; accessor?: string; refAccessor?: string; }): IResult<IDeepSeekSchema, IOpenApiSchemaError> => LlmSchemaV3_1Composer.schema({ ...props, config: { reference: props.config.reference, constraint: true, }, }); export const separateParameters = (props: { parameters: IDeepSeekSchema.IParameters; predicate: (schema: IDeepSeekSchema) => boolean; convention?: (key: string, type: "llm" | "human") => string; }): ILlmFunction.ISeparated<"deepseek"> => { const separated: ILlmFunction.ISeparated<"3.1"> = LlmSchemaV3_1Composer.separateParameters(props); return separated as any as ILlmFunction.ISeparated<"deepseek">; }; export const invert = (props: { components: OpenApi.IComponents; schema: IDeepSeekSchema; $defs: Record<string, IDeepSeekSchema>; }): OpenApi.IJsonSchema => LlmSchemaV3_1Composer.invert(props); }