UNPKG

@samchon/openapi

Version:

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

1 lines 6.49 kB
{"version":3,"file":"LlmSchemaComposer.mjs","sources":["../../src/composers/LlmSchemaComposer.ts"],"sourcesContent":["import { IChatGptSchema } from \"../structures/IChatGptSchema\";\nimport { IClaudeSchema } from \"../structures/IClaudeSchema\";\nimport { IGeminiSchema } from \"../structures/IGeminiSchema\";\nimport { ILlamaSchema } from \"../structures/ILlamaSchema\";\nimport { ILlmSchema } from \"../structures/ILlmSchema\";\nimport { ILlmSchemaV3 } from \"../structures/ILlmSchemaV3\";\nimport { ILlmSchemaV3_1 } from \"../structures/ILlmSchemaV3_1\";\nimport { ChatGptTypeChecker } from \"../utils/ChatGptTypeChecker\";\nimport { ClaudeTypeChecker } from \"../utils/ClaudeTypeChecker\";\nimport { GeminiTypeChecker } from \"../utils/GeminiTypeChecker\";\nimport { LlamaTypeChecker } from \"../utils/LlamaTypeChecker\";\nimport { LlmTypeCheckerV3 } from \"../utils/LlmTypeCheckerV3\";\nimport { LlmTypeCheckerV3_1 } from \"../utils/LlmTypeCheckerV3_1\";\nimport { ChatGptSchemaComposer } from \"./llm/ChatGptSchemaComposer\";\nimport { ClaudeSchemaComposer } from \"./llm/ClaudeSchemaComposer\";\nimport { GeminiSchemaComposer } from \"./llm/GeminiSchemaComposer\";\nimport { LlamaSchemaComposer } from \"./llm/LlamaSchemaComposer\";\nimport { LlmSchemaV3Composer } from \"./llm/LlmSchemaV3Composer\";\nimport { LlmSchemaV3_1Composer } from \"./llm/LlmSchemaV3_1Composer\";\n\nexport namespace LlmSchemaComposer {\n export const parameters = <Model extends ILlmSchema.Model>(model: Model) =>\n PARAMETERS_CASTERS[model];\n\n export const schema = <Model extends ILlmSchema.Model>(model: Model) =>\n SCHEMA_CASTERS[model];\n\n export const defaultConfig = <Model extends ILlmSchema.Model>(model: Model) =>\n DEFAULT_CONFIGS[model];\n\n export const typeChecker = <Model extends ILlmSchema.Model>(model: Model) =>\n TYPE_CHECKERS[model];\n\n export const separateParameters = <Model extends ILlmSchema.Model>(\n model: Model,\n ) => SEPARATE_PARAMETERS[model];\n\n export const invert = <Model extends ILlmSchema.Model>(model: Model) =>\n INVERTS[model];\n\n /**\n * @internal\n */\n export const isDefs = <Model extends ILlmSchema.Model>(\n model: Model,\n ): boolean => IS_DEFS[model]();\n}\n\nconst PARAMETERS_CASTERS = {\n chatgpt: ChatGptSchemaComposer.parameters,\n claude: ClaudeSchemaComposer.parameters,\n gemini: GeminiSchemaComposer.parameters,\n llama: LlamaSchemaComposer.parameters,\n \"3.0\": LlmSchemaV3Composer.parameters,\n \"3.1\": LlmSchemaV3_1Composer.parameters,\n};\n\nconst SCHEMA_CASTERS = {\n chatgpt: ChatGptSchemaComposer.schema,\n claude: ClaudeSchemaComposer.schema,\n gemini: GeminiSchemaComposer.schema,\n llama: LlamaSchemaComposer.schema,\n \"3.0\": LlmSchemaV3Composer.schema,\n \"3.1\": LlmSchemaV3_1Composer.schema,\n};\n\nconst SEPARATE_PARAMETERS = {\n chatgpt: ChatGptSchemaComposer.separateParameters,\n claude: ClaudeSchemaComposer.separateParameters,\n gemini: GeminiSchemaComposer.separateParameters,\n llama: LlamaSchemaComposer.separateParameters,\n \"3.0\": LlmSchemaV3Composer.separateParameters,\n \"3.1\": LlmSchemaV3_1Composer.separateParameters,\n};\n\nconst INVERTS = {\n chatgpt: ChatGptSchemaComposer.invert,\n claude: ClaudeSchemaComposer.invert,\n gemini: GeminiSchemaComposer.invert,\n llama: LlamaSchemaComposer.invert,\n \"3.0\": LlmSchemaV3Composer.invert,\n \"3.1\": LlmSchemaV3_1Composer.invert,\n};\n\nconst DEFAULT_CONFIGS = {\n chatgpt: {\n reference: false,\n strict: false,\n } satisfies IChatGptSchema.IConfig,\n claude: {\n reference: false,\n } satisfies IClaudeSchema.IConfig,\n gemini: {\n recursive: 3,\n } satisfies IGeminiSchema.IConfig,\n llama: {\n reference: false,\n } satisfies ILlamaSchema.IConfig,\n \"3.0\": {\n constraint: true,\n recursive: 3,\n } satisfies ILlmSchemaV3.IConfig,\n \"3.1\": {\n constraint: true,\n reference: false,\n } satisfies ILlmSchemaV3_1.IConfig,\n};\n\nconst TYPE_CHECKERS = {\n chatgpt: ChatGptTypeChecker,\n claude: ClaudeTypeChecker,\n gemini: GeminiTypeChecker,\n llama: LlamaTypeChecker,\n \"3.0\": LlmTypeCheckerV3,\n \"3.1\": LlmTypeCheckerV3_1,\n};\n\n/**\n * @internal\n */\nconst IS_DEFS = {\n chatgpt: () => ChatGptSchemaComposer.IS_DEFS,\n claude: () => ClaudeSchemaComposer.IS_DEFS,\n gemini: () => GeminiSchemaComposer.IS_DEFS,\n llama: () => LlamaSchemaComposer.IS_DEFS,\n \"3.0\": () => LlmSchemaV3Composer.IS_DEFS,\n \"3.1\": () => LlmSchemaV3_1Composer.IS_DEFS,\n};\n"],"names":["LlmSchemaComposer","parameters","model","PARAMETERS_CASTERS","schema","SCHEMA_CASTERS","defaultConfig","DEFAULT_CONFIGS","typeChecker","TYPE_CHECKERS","separateParameters","SEPARATE_PARAMETERS","invert","INVERTS","isDefs","IS_DEFS","chatgpt","ChatGptSchemaComposer","claude","ClaudeSchemaComposer","gemini","GeminiSchemaComposer","llama","LlamaSchemaComposer","LlmSchemaV3Composer","LlmSchemaV3_1Composer","reference","strict","recursive","constraint","ChatGptTypeChecker","ClaudeTypeChecker","GeminiTypeChecker","LlamaTypeChecker","LlmTypeCheckerV3","LlmTypeCheckerV3_1"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAoBM,IAAWA;;CAAjB,SAAiBA;IACFA,kBAAUC,aAAoCC,SACzDC,mBAAmBD;IAERF,kBAAMI,SAAoCF,SACrDG,eAAeH;IAEJF,kBAAaM,gBAAoCJ,SAC5DK,gBAAgBL;IAELF,kBAAWQ,cAAoCN,SAC1DO,cAAcP;IAEHF,kBAAkBU,qBAC7BR,SACGS,oBAAoBT;IAEZF,kBAAMY,SAAoCV,SACrDW,QAAQX;IAKGF,kBAAMc,SACjBZ,SACYa,QAAQb;AACvB,EA1BD,CAAiBF,sBAAAA,oBA0BhB,CAAA;;AAED,MAAMG,qBAAqB;IACzBa,SAASC,sBAAsBhB;IAC/BiB,QAAQC,qBAAqBlB;IAC7BmB,QAAQC,qBAAqBpB;IAC7BqB,OAAOC,oBAAoBtB;IAC3B,OAAOuB,oBAAoBvB;IAC3B,KAAOwB,sBAAsBxB;;;AAG/B,MAAMI,iBAAiB;IACrBW,SAASC,sBAAsBb;IAC/Bc,QAAQC,qBAAqBf;IAC7BgB,QAAQC,qBAAqBjB;IAC7BkB,OAAOC,oBAAoBnB;IAC3B,OAAOoB,oBAAoBpB;IAC3B,KAAOqB,sBAAsBrB;;;AAG/B,MAAMO,sBAAsB;IAC1BK,SAASC,sBAAsBP;IAC/BQ,QAAQC,qBAAqBT;IAC7BU,QAAQC,qBAAqBX;IAC7BY,OAAOC,oBAAoBb;IAC3B,OAAOc,oBAAoBd;IAC3B,KAAOe,sBAAsBf;;;AAG/B,MAAMG,UAAU;IACdG,SAASC,sBAAsBL;IAC/BM,QAAQC,qBAAqBP;IAC7BQ,QAAQC,qBAAqBT;IAC7BU,OAAOC,oBAAoBX;IAC3B,OAAOY,oBAAoBZ;IAC3B,KAAOa,sBAAsBb;;;AAG/B,MAAML,kBAAkB;IACtBS,SAAS;QACPU,WAAW;QACXC,QAAQ;;IAEVT,QAAQ;QACNQ,WAAW;;IAEbN,QAAQ;QACNQ,WAAW;;IAEbN,OAAO;QACLI,WAAW;;IAEb,OAAO;QACLG,YAAY;QACZD,WAAW;;IAEb,KAAO;QACLC,YAAY;QACZH,WAAW;;;;AAIf,MAAMjB,gBAAgB;IACpBO,SAASc;IACTZ,QAAQa;IACRX,QAAQY;IACRV,OAAOW;IACP,OAAOC;IACP,KAAOC;;;AAMT,MAAMpB,UAAU;IACdC,SAAS,MAAMC,sBAAsBF;IACrCG,QAAQ,MAAMC,qBAAqBJ;IACnCK,QAAQ,MAAMC,qBAAqBN;IACnCO,OAAO,MAAMC,oBAAoBR;IACjC,OAAO,MAAMS,oBAAoBT;IACjC,KAAO,MAAMU,sBAAsBV;;;"}