@autobe/compiler 0.26.0 → 0.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/raw/test.json CHANGED
@@ -8,7 +8,7 @@
8
8
  "node_modules/@nestia/e2e/lib/index.d.ts": "import * as e2e from \"./module\";\nexport default e2e;\nexport * from \"./module\";\n",
9
9
  "node_modules/@nestia/e2e/lib/internal/json_equal_to.d.ts": "export declare const json_equal_to: (exception: (key: string) => boolean) => <T>(x: T) => (y: T | null | undefined) => string[];\n",
10
10
  "node_modules/@nestia/e2e/lib/module.d.ts": "export * from \"./ArrayUtil\";\nexport * from \"./MapUtil\";\nexport * from \"./RandomGenerator\";\nexport * from \"./DynamicExecutor\";\nexport * from \"./GaffComparator\";\nexport * from \"./TestValidator\";\n",
11
- "node_modules/@nestia/e2e/package.json": "{\n \"name\": \"@nestia/e2e\",\n \"version\": \"8.0.7\",\n \"description\": \"E2E test utilify functions\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"npm run build:main && npm run build:test\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"eslint\": \"eslint src && eslint test\",\n \"prepare\": \"ts-patch install && typia patch\",\n \"test\": \"node bin/test\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"e2e\",\n \"nestia\",\n \"nestjs\",\n \"test\",\n \"tdd\",\n \"utility\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"devDependencies\": {\n \"@trivago/prettier-plugin-sort-imports\": \"^4.0.0\",\n \"@types/node\": \"^18.11.18\",\n \"@typescript-eslint/eslint-plugin\": \"^5.57.0\",\n \"@typescript-eslint/parser\": \"^5.57.0\",\n \"rimraf\": \"^6.0.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.9.2\",\n \"typescript-transform-paths\": \"^3.4.7\",\n \"typia\": \"^9.6.1\"\n },\n \"files\": [\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\",\n \"package.json\"\n ]\n}",
11
+ "node_modules/@nestia/e2e/package.json": "{\n \"name\": \"@nestia/e2e\",\n \"version\": \"9.0.0\",\n \"description\": \"E2E test utilify functions\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"npm run build:main && npm run build:test\",\n \"build:main\": \"rimraf lib && tsc\",\n \"build:test\": \"rimraf bin && tsc -p test/tsconfig.json\",\n \"dev\": \"npm run build:test -- --watch\",\n \"eslint\": \"eslint src && eslint test\",\n \"prepare\": \"ts-patch install && typia patch\",\n \"test\": \"node bin/test\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"e2e\",\n \"nestia\",\n \"nestjs\",\n \"test\",\n \"tdd\",\n \"utility\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"devDependencies\": {\n \"@trivago/prettier-plugin-sort-imports\": \"^4.0.0\",\n \"@types/node\": \"^18.11.18\",\n \"@typescript-eslint/eslint-plugin\": \"^5.57.0\",\n \"@typescript-eslint/parser\": \"^5.57.0\",\n \"rimraf\": \"^6.0.1\",\n \"ts-node\": \"^10.9.1\",\n \"ts-patch\": \"^3.3.0\",\n \"typescript\": \"~5.9.3\",\n \"typescript-transform-paths\": \"^3.4.7\",\n \"typia\": \"^10.0.0\"\n },\n \"files\": [\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\",\n \"package.json\"\n ]\n}",
12
12
  "node_modules/@nestia/fetcher/lib/AesPkcs5.d.ts": "/**\n * Utility class for the AES-128/256 encryption.\n *\n * - AES-128/256\n * - CBC mode\n * - PKCS#5 Padding\n * - Base64 Encoding\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace AesPkcs5 {\n /**\n * Encrypt data\n *\n * @param data Target data\n * @param key Key value of the encryption.\n * @param iv Initializer Vector for the encryption\n * @returns Encrypted data\n */\n function encrypt(data: string, key: string, iv: string): string;\n /**\n * Decrypt data.\n *\n * @param data Target data\n * @param key Key value of the decryption.\n * @param iv Initializer Vector for the decryption\n * @returns Decrypted data.\n */\n function decrypt(data: string, key: string, iv: string): string;\n}\n",
13
13
  "node_modules/@nestia/fetcher/lib/EncryptedFetcher.d.ts": "import { IConnection } from \"./IConnection\";\nimport { IFetchRoute } from \"./IFetchRoute\";\nimport { IPropagation } from \"./IPropagation\";\n/**\n * Utility class for `fetch` functions used in `@nestia/sdk` with encryption.\n *\n * `EncryptedFetcher` is a utility class designed for SDK functions generated by\n * [`@nestia/sdk`](https://nestia.io/docs/sdk/sdk), interacting with the remote\n * HTTP API encrypted by AES-PKCS algorithm. In other words, this is a\n * collection of dedicated `fetch()` functions for `@nestia/sdk` with\n * encryption.\n *\n * For reference, `EncryptedFetcher` class being used only when target\n * controller method is encrypting body data by `@EncryptedRoute` or\n * `@EncryptedBody` decorators. If those decorators are not used,\n * {@link PlainFetcher} class would be used instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace EncryptedFetcher {\n /**\n * Fetch function only for `HEAD` method.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @returns Nothing because of `HEAD` method\n */\n function fetch(connection: IConnection, route: IFetchRoute<\"HEAD\">): Promise<void>;\n /**\n * Fetch function only for `GET` method.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @returns Response body data from the remote API\n */\n function fetch<Output>(connection: IConnection, route: IFetchRoute<\"GET\">): Promise<Output>;\n /**\n * Fetch function for the `POST`, `PUT`, `PATCH` and `DELETE` methods.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @returns Response body data from the remote API\n */\n function fetch<Input, Output>(connection: IConnection, route: IFetchRoute<\"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;\n function propagate<Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<\"GET\" | \"HEAD\">): Promise<Output>;\n function propagate<Input, Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<\"DELETE\" | \"GET\" | \"HEAD\" | \"PATCH\" | \"POST\" | \"PUT\">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;\n}\n",
14
14
  "node_modules/@nestia/fetcher/lib/FormDataInput.d.ts": "/**\n * FormData input type.\n *\n * `FormDataInput<T>` is a type for the input of the `FormData` request, casting\n * `File` property value type as an union of `File` and\n * {@link FormDataInput.IFileProps}, especially for the React Native\n * environment.\n *\n * You know what? In the React Native environment, `File` class is not\n * supported. Therefore, when composing a `FormData` request, you have to put\n * the URI address of the local filesystem with file name and content type that\n * is represented by the {@link FormDataInput.IFileProps} type.\n *\n * This `FormDataInput<T>` type is designed for that purpose. If the property\n * value type is a `File` class, it converts it to an union type of `File` and\n * {@link FormDataInput.IFileProps} type. Also, if the property value type is an\n * array of `File` class, it converts it to an array of union type of `File` and\n * {@link FormDataInput.IFileProps} type too.\n *\n * Before | After ----------|------------------------ `boolean` | `boolean`\n * `bigint` | `bigint` `number` | `number` `string` | `string` `File` | `File \\|\n * IFileProps`\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target object type.\n */\nexport type FormDataInput<T extends object> = T extends Array<any> ? never : T extends Function ? never : {\n [P in keyof T]: T[P] extends Array<infer U> ? FormDataInput.Value<U>[] : FormDataInput.Value<T[P]>;\n};\nexport declare namespace FormDataInput {\n /**\n * Value type of the `FormDataInput`.\n *\n * `Value<T>` is a type for the property value defined in the `FormDataInput`.\n *\n * If the original value type is a `File` class, `Value<T>` converts it to an\n * union type of `File` and {@link IFileProps} type which is a structured data\n * for the URI file location in the React Native environment.\n */\n type Value<T> = T extends File ? T | IFileProps : T;\n /**\n * Properties of a file.\n *\n * In the React Native, this `IFileProps` structured data can replace the\n * `File` class instance in the `FormData` request.\n *\n * Just put the {@link uri URI address} of the local file system with the\n * file's {@link name} and {@link type}. It would be casted to the `File` class\n * instance automatically in the `FormData` request.\n *\n * Note that, this `IFileProps` type works only in the React Native\n * environment. If you are developing a Web or NodeJS application, you have to\n * utilize the `File` class instance directly.\n */\n interface IFileProps {\n /**\n * URI address of the file.\n *\n * In the React Native, the URI address in the local file system can replace\n * the `File` class instance. If\n *\n * @format uri\n */\n uri: string;\n /** Name of the file. */\n name: string;\n /** Content type of the file. */\n type: string;\n }\n}\n",
@@ -23,21 +23,19 @@
23
23
  "node_modules/@nestia/fetcher/lib/PlainFetcher.d.ts": "import { IConnection } from \"./IConnection\";\nimport { IFetchRoute } from \"./IFetchRoute\";\nimport { IPropagation } from \"./IPropagation\";\n/**\n * Utility class for `fetch` functions used in `@nestia/sdk`.\n *\n * `PlainFetcher` is a utility class designed for SDK functions generated by\n * [`@nestia/sdk`](https://nestia.io/docs/sdk/sdk), interacting with the remote\n * HTTP sever API. In other words, this is a collection of dedicated `fetch()`\n * functions for `@nestia/sdk`.\n *\n * For reference, `PlainFetcher` class does not encrypt or decrypt the body data\n * at all. It just delivers plain data without any post processing. If you've\n * defined a controller method through `@EncryptedRoute` or `@EncryptedBody`\n * decorator, then {@liink EncryptedFetcher} class would be used instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace PlainFetcher {\n /**\n * Fetch function only for `HEAD` method.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @returns Nothing because of `HEAD` method\n */\n function fetch(connection: IConnection, route: IFetchRoute<\"HEAD\">): Promise<void>;\n /**\n * Fetch function only for `GET` method.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @returns Response body data from the remote API\n */\n function fetch<Output>(connection: IConnection, route: IFetchRoute<\"GET\">): Promise<Output>;\n /**\n * Fetch function for the `POST`, `PUT`, `PATCH` and `DELETE` methods.\n *\n * @param connection Connection information for the remote HTTP server\n * @param route Route information about the target API\n * @returns Response body data from the remote API\n */\n function fetch<Input, Output>(connection: IConnection, route: IFetchRoute<\"POST\" | \"PUT\" | \"PATCH\" | \"DELETE\">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;\n function propagate<Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<\"GET\" | \"HEAD\">): Promise<Output>;\n function propagate<Input, Output extends IPropagation<any, any>>(connection: IConnection, route: IFetchRoute<\"DELETE\" | \"GET\" | \"HEAD\" | \"PATCH\" | \"POST\" | \"PUT\">, input?: Input, stringify?: (input: Input) => string): Promise<Output>;\n}\n",
24
24
  "node_modules/@nestia/fetcher/lib/index.d.ts": "export * from \"./FormDataInput\";\nexport * from \"./HttpError\";\nexport * from \"./IConnection\";\nexport * from \"./IEncryptionPassword\";\nexport * from \"./IFetchEvent\";\nexport * from \"./IFetchRoute\";\nexport * from \"./IPropagation\";\n",
25
25
  "node_modules/@nestia/fetcher/lib/internal/FetcherBase.d.ts": "export {};\n",
26
- "node_modules/@nestia/fetcher/package.json": "{\n \"name\": \"@nestia/fetcher\",\n \"version\": \"8.0.7\",\n \"description\": \"Fetcher library of Nestia SDK\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"rimraf lib && tsc\",\n \"dev\": \"tsc -p tsconfig.test.json --watch\",\n \"eslint\": \"eslint src\",\n \"eslint:fix\": \"eslint src --fix\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"nestia\",\n \"fetcher\",\n \"sdk\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"dependencies\": {\n \"@samchon/openapi\": \"^4.5.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^18.11.14\",\n \"@typescript-eslint/eslint-plugin\": \"^5.46.1\",\n \"@typescript-eslint/parser\": \"^5.46.1\",\n \"rimraf\": \"^6.0.1\",\n \"typescript\": \"~5.9.2\"\n },\n \"files\": [\n \"README.md\",\n \"LICENSE\",\n \"package.json\",\n \"lib\",\n \"src\"\n ]\n}",
26
+ "node_modules/@nestia/fetcher/package.json": "{\n \"name\": \"@nestia/fetcher\",\n \"version\": \"9.0.0\",\n \"description\": \"Fetcher library of Nestia SDK\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"scripts\": {\n \"build\": \"rimraf lib && tsc\",\n \"dev\": \"tsc -p tsconfig.test.json --watch\",\n \"eslint\": \"eslint src\",\n \"eslint:fix\": \"eslint src --fix\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/nestia\"\n },\n \"keywords\": [\n \"nestia\",\n \"fetcher\",\n \"sdk\"\n ],\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/nestia/issues\"\n },\n \"homepage\": \"https://nestia.io\",\n \"dependencies\": {\n \"@samchon/openapi\": \"^5.0.0\"\n },\n \"devDependencies\": {\n \"@types/node\": \"^18.11.14\",\n \"@typescript-eslint/eslint-plugin\": \"^5.46.1\",\n \"@typescript-eslint/parser\": \"^5.46.1\",\n \"rimraf\": \"^6.0.1\",\n \"typescript\": \"~5.9.3\"\n },\n \"files\": [\n \"README.md\",\n \"LICENSE\",\n \"package.json\",\n \"lib\",\n \"src\"\n ]\n}",
27
27
  "node_modules/@samchon/openapi/lib/HttpLlm.d.ts": "import { OpenApi } from \"./OpenApi\";\nimport { OpenApiV3 } from \"./OpenApiV3\";\nimport { OpenApiV3_1 } from \"./OpenApiV3_1\";\nimport { SwaggerV2 } from \"./SwaggerV2\";\nimport { IHttpConnection } from \"./structures/IHttpConnection\";\nimport { IHttpLlmApplication } from \"./structures/IHttpLlmApplication\";\nimport { IHttpLlmFunction } from \"./structures/IHttpLlmFunction\";\nimport { IHttpResponse } from \"./structures/IHttpResponse\";\nimport { ILlmFunction } from \"./structures/ILlmFunction\";\nimport { ILlmSchema } from \"./structures/ILlmSchema\";\n/**\n * LLM function calling application composer from OpenAPI document.\n *\n * `HttpLlm` is a module for composing LLM (Large Language Model) function\n * calling application from the {@link OpenApi.IDocument OpenAPI document}, and\n * also for LLM function call execution and parameter merging.\n *\n * At first, you can construct the LLM function calling application by the\n * {@link HttpLlm.application HttpLlm.application()} function. And then the LLM\n * has selected a {@link IHttpLlmFunction function} to call and composes its\n * arguments, you can execute the function by\n * {@link HttpLlm.execute HttpLlm.execute()} or\n * {@link HttpLlm.propagate HttpLlm.propagate()}.\n *\n * By the way, if you have configured the\n * {@link IHttpLlmApplication.IOptions.separate} option to separate the\n * parameters into human and LLM sides, you can merge these human and LLM sides'\n * parameters into one through\n * {@link HttpLlm.mergeParameters HttpLlm.mergeParameters()} before the actual\n * LLM function call execution.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace HttpLlm {\n /**\n * Properties for the LLM function calling application composer.\n *\n * @template Model Target LLM model\n */\n interface IApplicationProps<Model extends ILlmSchema.Model> {\n /** Target LLM model. */\n model: Model;\n /** OpenAPI document to convert. */\n document: OpenApi.IDocument | SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument;\n /** Options for the LLM function calling schema conversion. */\n options?: Partial<IHttpLlmApplication.IOptions<Model>>;\n }\n /**\n * Convert OpenAPI document to LLM function calling application.\n *\n * Converts {@link OpenApi.IDocument OpenAPI document} or\n * {@link IHttpMigrateApplication migrated application} to the\n * {@link IHttpLlmApplication LLM function calling application}. Every\n * {@link OpenApi.IOperation API operations} in the OpenAPI document are\n * converted to the {@link IHttpLlmFunction LLM function} type, and they would\n * be used for the LLM function calling.\n *\n * If you have configured the {@link IHttpLlmApplication.IOptions.separate}\n * option, every parameters in the {@link IHttpLlmFunction} would be separated\n * into both human and LLM sides. In that case, you can merge these human and\n * LLM sides' parameters into one through {@link HttpLlm.mergeParameters}\n * before the actual LLM function call execution.\n *\n * Additionally, if you have configured the\n * {@link IHttpLlmApplication.IOptions.keyword} as `true`, the number of\n * {@link IHttpLlmFunction.parameters} are always 1 and the first parameter\n * type is always {@link ILlmSchemaV3.IObject}. I recommend this option because\n * LLM can understand the keyword arguments more easily.\n *\n * @param props Properties for composition\n * @returns LLM function calling application\n */\n const application: <Model extends ILlmSchema.Model>(props: IApplicationProps<Model>) => IHttpLlmApplication<Model>;\n /** Properties for the LLM function call. */\n interface IFetchProps<Model extends ILlmSchema.Model> {\n /** Application of the LLM function calling. */\n application: IHttpLlmApplication<Model>;\n /** LLM function schema to call. */\n function: IHttpLlmFunction<ILlmSchema.Model>;\n /** Connection info to the HTTP server. */\n connection: IHttpConnection;\n /** Input arguments for the function call. */\n input: object;\n }\n /**\n * Execute the LLM function call.\n *\n * `HttmLlm.execute()` is a function executing the target\n * {@link OpenApi.IOperation API endpoint} with with the connection information\n * and arguments composed by Large Language Model like OpenAI (+human\n * sometimes).\n *\n * By the way, if you've configured the\n * {@link IHttpLlmApplication.IOptions.separate}, so that the parameters are\n * separated to human and LLM sides, you have to merge these humand and LLM\n * sides' parameters into one through {@link HttpLlm.mergeParameters}\n * function.\n *\n * About the {@link IHttpLlmApplication.IOptions.keyword} option, don't worry\n * anything. This `HttmLlm.execute()` function will automatically recognize\n * the keyword arguments and convert them to the proper sequence.\n *\n * For reference, if the target API endpoinnt responds none 200/201 status,\n * this would be considered as an error and the {@link HttpError} would be\n * thrown. Otherwise you don't want such rule, you can use the\n * {@link HttpLlm.propagate} function instead.\n *\n * @param props Properties for the LLM function call\n * @returns Return value (response body) from the API endpoint\n * @throws HttpError when the API endpoint responds none 200/201 status\n */\n const execute: <Model extends ILlmSchema.Model>(props: IFetchProps<Model>) => Promise<unknown>;\n /**\n * Propagate the LLM function call.\n *\n * `HttmLlm.propagate()` is a function propagating the target\n * {@link OpenApi.IOperation API endpoint} with with the connection information\n * and arguments composed by Large Language Model like OpenAI (+human\n * sometimes).\n *\n * By the way, if you've configured the\n * {@link IHttpLlmApplication.IOptions.separate}, so that the parameters are\n * separated to human and LLM sides, you have to merge these humand and LLM\n * sides' parameters into one through {@link HttpLlm.mergeParameters}\n * function.\n *\n * About the {@link IHttpLlmApplication.IOptions.keyword} option, don't worry\n * anything. This `HttmLlm.propagate()` function will automatically recognize\n * the keyword arguments and convert them to the proper sequence.\n *\n * For reference, the propagation means always returning the response from the\n * API endpoint, even if the status is not 200/201. This is useful when you\n * want to handle the response by yourself.\n *\n * @param props Properties for the LLM function call\n * @returns Response from the API endpoint\n * @throws Error only when the connection is failed\n */\n const propagate: <Model extends ILlmSchema.Model>(props: IFetchProps<Model>) => Promise<IHttpResponse>;\n /** Properties for the parameters' merging. */\n interface IMergeProps<Model extends ILlmSchema.Model> {\n /** Metadata of the target function. */\n function: ILlmFunction<Model>;\n /** Arguments composed by the LLM. */\n llm: object | null;\n /** Arguments composed by the human. */\n human: object | null;\n }\n /**\n * Merge the parameters.\n *\n * If you've configured the {@link IHttpLlmApplication.IOptions.separate}\n * option, so that the parameters are separated to human and LLM sides, you\n * can merge these humand and LLM sides' parameters into one through this\n * `HttpLlm.mergeParameters()` function before the actual LLM function call\n * wexecution.\n *\n * On contrary, if you've not configured the\n * {@link IHttpLlmApplication.IOptions.separate} option, this function would\n * throw an error.\n *\n * @param props Properties for the parameters' merging\n * @returns Merged parameter values\n */\n const mergeParameters: <Model extends ILlmSchema.Model>(props: IMergeProps<Model>) => object;\n /**\n * Merge two values.\n *\n * If both values are objects, then combines them in the properties level.\n *\n * Otherwise, returns the latter value if it's not null, otherwise the former\n * value.\n *\n * - `return (y ?? x)`\n *\n * @param x Value X to merge\n * @param y Value Y to merge\n * @returns Merged value\n */\n const mergeValue: (x: unknown, y: unknown) => unknown;\n}\n",
28
28
  "node_modules/@samchon/openapi/lib/HttpMigration.d.ts": "import { OpenApi } from \"./OpenApi\";\nimport { OpenApiV3 } from \"./OpenApiV3\";\nimport { OpenApiV3_1 } from \"./OpenApiV3_1\";\nimport { SwaggerV2 } from \"./SwaggerV2\";\nimport { IHttpConnection } from \"./structures/IHttpConnection\";\nimport { IHttpMigrateApplication } from \"./structures/IHttpMigrateApplication\";\nimport { IHttpMigrateRoute } from \"./structures/IHttpMigrateRoute\";\nimport { IHttpResponse } from \"./structures/IHttpResponse\";\n/**\n * HTTP migration application composer from OpenAPI document.\n *\n * `HttpMigration` is a module for composing HTTP migration application from the\n * {@link OpenApi.IDocument OpenAPI document}. It is designed for helping the\n * OpenAPI generator libraries, which converts\n * {@link OpenApi.IOperation OpenAPI operations} to an RPC (Remote Procedure\n * Call) function.\n *\n * The key feature of the `HttpModule` is the {@link HttpMigration.application}\n * function. It converts the {@link OpenApi.IOperation OpenAPI operations} to the\n * {@link IHttpMigrateRoute HTTP migration route}, and it normalizes the OpenAPI\n * operations to the RPC function calling suitable route structure.\n *\n * The other functions, {@link HttpMigration.execute} and\n * {@link HttpMigration.propagate}, are for executing the HTTP request to the\n * HTTP server. The {@link HttpMigration.execute} function returns the response\n * body from the API endpoint when the status code is `200` or `201`. Otherwise,\n * it throws an {@link HttpError} when the status code is not `200` or `201`. The\n * {@link HttpMigration.propagate} function returns the response information from\n * the API endpoint, including the status code, headers, and response body.\n *\n * The {@link HttpLlm} module is a good example utilizing this `HttpMigration`\n * module for composing RPC function calling application. The {@link HttpLlm}\n * module composes LLM (Large Language Model) function calling application from\n * the OpenAPI document bypassing through the {@link IHttpLlmApplication} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace HttpMigration {\n /**\n * Convert HTTP migration application from OpenAPI document.\n *\n * `HttpMigration.application()` is a function converting the\n * {@link OpenApi.IDocument OpenAPI document} and its\n * {@link OpenApi.IOperation operations} to the\n * {@link IHttpMigrateApplication HTTP migration application}.\n *\n * The HTTP migration application is designed for helping the OpenAPI\n * generator libraries, which converts OpenAPI operations to an RPC (Remote\n * Procedure Call) function. To support the OpenAPI generator libraries,\n * {@link IHttpMigrateRoute} takes below normalization rules:\n *\n * - Path parameters are separated to atomic level.\n * - Query parameters are binded into one object.\n * - Header parameters are binded into one object.\n * - Allow only below HTTP methods\n *\n * - `head`\n * - `get`\n * - `post`\n * - `put`\n * - `patch`\n * - `delete`\n * - Allow only below content media types\n *\n * - `application/json`\n * - `application/x-www-form-urlencoded`\n * - `multipart/form-data`\n * - `text/plain`\n *\n * If there're some {@link OpenApi.IOperation API operations} which canont\n * adjust the above rules or there're some logically insensible, these\n * operation would be failed to migrate and registered into the\n * {@link IHttpMigrateApplication.errors}.\n *\n * @param document OpenAPI document to migrate.\n * @returns Migrated application.\n */\n const application: (document: OpenApi.IDocument | SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument) => IHttpMigrateApplication;\n /** Properties for the request to the HTTP server. */\n interface IFetchProps {\n /** Connection info to the HTTP server. */\n connection: IHttpConnection;\n /** Route information for the migration. */\n route: IHttpMigrateRoute;\n /**\n * Path parameters.\n *\n * Path parameters with sequenced array or key-value paired object.\n */\n parameters: Array<string | number | boolean | bigint | null> | Record<string, string | number | boolean | bigint | null>;\n /** Query parameters as a key-value paired object. */\n query?: object | undefined;\n /** Request body data. */\n body?: object | undefined;\n }\n /**\n * Execute the HTTP request.\n *\n * `HttpMigration.execute()` is a function executing the HTTP request to the\n * HTTP server.\n *\n * It returns the response body from the API endpoint when the status code is\n * `200` or `201`. Otherwise, it throws an {@link HttpError} when the status\n * code is not `200` or `201`.\n *\n * If you want to get more information than the response body, or get the\n * detailed response information even when the status code is `200` or `201`,\n * use the {@link HttpMigration.propagate} function instead.\n *\n * @param props Properties for the request.\n * @returns Return value (response body) from the API endpoint.\n * @throws HttpError when the API endpoint responds none 200/201 status.\n */\n const execute: (props: IFetchProps) => Promise<unknown>;\n /**\n * Propagate the HTTP request.\n *\n * `HttpMigration.propagate()` is a function propagating the request to the\n * HTTP server.\n *\n * It returns the response information from the API endpoint, including the\n * status code, headers, and response body.\n *\n * Even if the status code is not `200` or `201`, this function would return\n * the response information. By the way, if the connection to the HTTP server\n * is failed, this function would throw an {@link Error}.\n *\n * @param props Properties for the request.\n * @returns Response from the API endpoint.\n * @throws Error when the connection is failed.\n */\n const propagate: (props: IFetchProps) => Promise<IHttpResponse>;\n}\n",
29
29
  "node_modules/@samchon/openapi/lib/McpLlm.d.ts": "import { ILlmSchema } from \"./structures/ILlmSchema\";\nimport { IMcpLlmApplication } from \"./structures/IMcpLlmApplication\";\nimport { IMcpTool } from \"./structures/IMcpTool\";\n/**\n * Application of LLM function calling from MCP document.\n *\n * `McpLlm` is a module for composing LLM (Large Language Model) function\n * calling application from MCP (Model Context Protocol) document.\n *\n * The reasons why `@samchon/openapi` recommends to use the function calling\n * feature instead of directly using the\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property of LLM API are:\n *\n * - Model Specification: {@link ILlmSchema}\n * - Validation Feedback: {@link IMcpLlmFunction.validate}\n * - Selector agent for reducing context: [Agentica > Orchestration\n * Strategy](https://wrtnlabs.io/agentica/docs/concepts/function-calling/#orchestration-strategy)\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace McpLlm {\n /**\n * Properties for the LLM function calling application composer.\n *\n * @template Model Target LLM model\n */\n interface IApplicationProps<Model extends ILlmSchema.Model> {\n /** Target LLM model. */\n model: Model;\n /**\n * List of tools.\n *\n * A list of tools defined in the MCP (Model Context Protocol) document.\n *\n * It is better to validate the tools using the\n * [`typia.assert<T>()`](https://typia.io/docs/validate/assert) function for\n * type safety.\n */\n tools: Array<IMcpTool>;\n /** Options for the LLM function calling schema conversion. */\n options?: Partial<IMcpLlmApplication.IOptions<Model>>;\n }\n /**\n * Convert MCP document to LLM function calling application.\n *\n * Converts MCP (Model Context Protocol) to LLM (Large Language Model)\n * function calling application.\n *\n * The reasons why `@samchon/openapi` recommends using the function calling\n * feature instead of directly using the\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property of LLM API are:\n *\n * - **Model Specification**: {@link ILlmSchema}\n * - **Validation Feedback**: {@link IMcpLlmFunction.validate}\n * - **Selector agent for reducing context**: [Agentica > Orchestration\n * Strategy](https://wrtnlabs.io/agentica/docs/concepts/function-calling/#orchestration-strategy)\n *\n * @param props Properties for composition\n * @returns LLM function calling application\n */\n const application: <Model extends ILlmSchema.Model>(props: IApplicationProps<Model>) => IMcpLlmApplication<Model>;\n}\n",
30
- "node_modules/@samchon/openapi/lib/OpenApi.d.ts": "import { OpenApiV3 } from \"./OpenApiV3\";\nimport { OpenApiV3_1 } from \"./OpenApiV3_1\";\nimport { SwaggerV2 } from \"./SwaggerV2\";\nimport { IJsonSchemaAttribute } from \"./structures/IJsonSchemaAttribute\";\n/**\n * Emended OpenAPI v3.1 definition used by `typia` and `nestia`.\n *\n * `OpenApi` is a namespace containing functions and interfaces for emended\n * OpenAPI v3.1 specification. The keyword \"emended\" means that `OpenApi` is not\n * a direct OpenAPI v3.1 specification ({@link OpenApiV3_1}), but a little bit\n * shrunk to remove ambiguous and duplicated expressions of OpenAPI v3.1 for the\n * convenience of `typia` and `nestia`.\n *\n * For example, when representing nullable type, OpenAPI v3.1 supports three\n * ways. In that case, `OpenApi` remains only the third way, so that makes\n * `typia` and `nestia` (especially `@nestia/editor`) to be simple and easy to\n * implement.\n *\n * 1. `{ type: [\"string\", \"null\"] }`\n * 2. `{ type: \"string\", nullable: true }`\n * 3. `{ oneOf: [{ type: \"string\" }, { type: \"null\" }] }`\n *\n * Here is the entire list of differences between OpenAPI v3.1 and emended\n * `OpenApi`.\n *\n * - Operation\n *\n * - Merge {@link OpenApiV3_1.IPath.parameters} to\n * {@link OpenApi.IOperation.parameters}\n * - Resolve {@link OpenApi.IJsonSchema.IReference references} of\n * {@link OpenApiV3_1.IOperation} members\n * - Escape references of {@link OpenApiV3_1.IComponents.examples}\n * - JSON Schema\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Array type utilizes only single {@link OpenApi.IJsonSchema.IArray.items}\n * - Tuple type utilizes only {@link OpenApi.IJsonSchema.ITuple.prefixItems}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to\n * {@link OpenApi.IJsonSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to\n * {@link OpenApi.IJsonSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link OpenApi.IJsonSchema.IReference}\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace OpenApi {\n /** Method of the operation. */\n type Method = \"get\" | \"post\" | \"put\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\";\n /**\n * Convert Swagger or OpenAPI document into emended OpenAPI v3.1 document.\n *\n * @param input Swagger or OpenAPI document to convert\n * @returns Emended OpenAPI v3.1 document\n */\n function convert(input: SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument | OpenApi.IDocument): IDocument;\n /**\n * Downgrade to Swagger v2.0 document.\n *\n * Downgrade the given document (emended OpenAPI v3.1) into Swagger v2.0.\n *\n * @param document Emended OpenAPI v3.1 document to downgrade\n * @param version Version to downgrade\n * @returns Swagger v2.0 document\n */\n function downgrade(document: IDocument, version: \"2.0\"): SwaggerV2.IDocument;\n /**\n * Downgrade to OpenAPI v3.0 document.\n *\n * Downgrade the given document (emended OpenAPI v3.1) into OpenAPI v3.0.\n *\n * @param document Emended OpenAPI v3.1 document to downgrade\n * @param version Version to downgrade\n * @returns OpenAPI v3.0 document\n */\n function downgrade(document: IDocument, version: \"3.0\"): OpenApiV3.IDocument;\n /**\n * OpenAPI document.\n *\n * `OpenApi.IDocument` represents an OpenAPI document of emended OpenAPI v3.1.\n *\n * In other words, `OpenApi.IDocument` is a structure of `swagger.json` file\n * of OpenAPI v3.1 specification, but a little bit shrunk to remove ambiguous\n * and duplicated expressions of OpenAPI v3.1 for the convenience and\n * clarity.\n */\n interface IDocument {\n /** OpenAPI version number. */\n openapi: `3.1.${number}`;\n /** List of servers that provide the API. */\n servers?: IServer[];\n /** Information about the API. */\n info?: IDocument.IInfo;\n /**\n * An object to hold reusable data structures.\n *\n * It stores both DTO schemas and security schemes.\n *\n * For reference, `nestia` defines every object and alias types as reusable\n * DTO schemas. The alias type means that defined by `type` keyword in\n * TypeScript.\n */\n components: IComponents;\n /**\n * The available paths and operations for the API.\n *\n * The 1st key is the path, and the 2nd key is the HTTP method.\n */\n paths?: Record<string, IPath>;\n /**\n * An object to hold Webhooks.\n *\n * Its structure is the same as {@link paths}, so the first key is the path,\n * and the second key is the HTTP method.\n */\n webhooks?: Record<string, IPath>;\n /**\n * A declaration of which security mechanisms can be used across the API.\n *\n * When this property is configured, it will be overwritten in every API\n * route.\n *\n * For reference, the key means the name of the security scheme and the value means the\n * `scopes`. The `scopes` can be used only when the target security scheme is\n * `oauth2` type, especially for\n * {@link ISwaggerSecurityScheme.IOAuth2.IFlow.scopes} property.\n */\n security?: Record<string, string[]>[];\n /**\n * List of tag names with descriptions.\n *\n * It is possible to omit this property or skip some tag names even if the\n * tag name is used in the API routes. In that case, the tag name will be\n * displayed (in Swagger-UI) without description.\n */\n tags?: IDocument.ITag[];\n /** Flag for indicating this document is emended by `@samchon/openapi` v4. */\n \"x-samchon-emended-v4\": true;\n }\n namespace IDocument {\n /** Information about the API. */\n interface IInfo {\n /** The title of the API. */\n title: string;\n /** A short summary of the API. */\n summary?: string;\n /** A full description of the API. */\n description?: string;\n /** A URL to the Terms of Service for the API. */\n termsOfService?: string;\n /** The contact information for the exposed API. */\n contact?: IContact;\n /** The license information for the exposed API. */\n license?: ILicense;\n /** Version of the API. */\n version: string;\n }\n /**\n * OpenAPI tag information.\n *\n * It is possible to skip composing this structure, even if some tag names\n * are registered in the API routes ({@link OpenApi.IOperation.tags}). In\n * that case, the tag name will be displayed in Swagger-UI without\n * description.\n *\n * However, if you want to describe the tag name, you can compose this\n * structure and describe the tag name in the {@link description} property.\n */\n interface ITag {\n /** The name of the tag. */\n name: string;\n /** An optional string describing the tag. */\n description?: string;\n }\n /** Contact information for the exposed API. */\n interface IContact {\n /** The identifying name of the contact person/organization. */\n name?: string;\n /** The URL pointing to the contact information. */\n url?: string;\n /**\n * The email address of the contact person/organization.\n *\n * @format email\n */\n email?: string;\n }\n /** License information for the exposed API. */\n interface ILicense {\n /** The license name used for the API. */\n name: string;\n /**\n * Identifier for the license used for the API.\n *\n * Example: MIT\n */\n identifier?: string;\n /** A URL to the license used for the API. */\n url?: string;\n }\n }\n /** The remote server that provides the API. */\n interface IServer {\n /** A URL to the target host. */\n url: string;\n /** An optional string describing the target server. */\n description?: string;\n /**\n * A map between a variable name and its value.\n *\n * When the server {@link url} is a template type, this property will be\n * utilized to fill the template with actual values.\n */\n variables?: Record<string, IServer.IVariable>;\n }\n namespace IServer {\n /** A variable for the server URL template. */\n interface IVariable {\n /** Default value to use for substitution. */\n default: string;\n /** List of available values for the variable. */\n enum?: string[];\n /** An optional description for the server variable. */\n description?: string;\n }\n }\n /**\n * Path item.\n *\n * `OpenApi.IPath` represents a path item of emended OpenAPI v3.1, collecting\n * multiple method operations under a single path.\n */\n interface IPath extends Partial<Record<Method, IOperation>> {\n /** Servers that provide the path operations. */\n servers?: IServer[];\n /** Summary of the path. */\n summary?: string;\n /** Description of the path. */\n description?: string;\n }\n /**\n * Remote operation information.\n *\n * `OpenApi.IOperation` represents a RESTful API operation provided by the\n * remote server.\n */\n interface IOperation {\n /** Unique string used to identify the operation. */\n operationId?: string;\n /** List of parameters that are applicable for this operation. */\n parameters?: IOperation.IParameter[];\n /** The request body applicable for this operation. */\n requestBody?: IOperation.IRequestBody;\n /**\n * The list of possible responses as they are returned from executing this\n * operation. Its key is the HTTP status code, and the value is the metadata\n * of the response in the HTTP status code.\n */\n responses?: Record<string, IOperation.IResponse>;\n /** A list of servers providing this API operation. */\n servers?: IServer[];\n /** A short summary of what the operation does. */\n summary?: string;\n /** A verbose explanation of the operation behavior. */\n description?: string;\n /**\n * List of securities and their scopes that are required for execution.\n *\n * When this property is configured, the RESTful API operation requires the\n * matching security value for execution. Its key means the security key matching\n * {@link OpenApi.IDocument.security}.\n *\n * The value means scopes required for the security key when the security\n * type is {@link OpenApi.ISecurityScheme.IOAuth2}. Otherwise, if the target\n * security type is not {@link OpenApi.ISecurityScheme.IOAuth2}, the value\n * will be an empty array.\n */\n security?: Record<string, string[]>[];\n /** Tags for API documentation control. */\n tags?: string[];\n /** Flag for indicating this operation is deprecated. */\n deprecated?: boolean;\n /**\n * Flag for indicating this operation is human-only.\n *\n * If this property value is `true`, the {@link HttpLlm.application} function\n * will not convert this operation schema into the LLM function calling\n * schema that is represented by the {@link IHttpLlmFunction} interface.\n */\n \"x-samchon-human\"?: boolean;\n /**\n * Accessor of the operation.\n *\n * If you configure this property, the assigned value will be used as\n * {@link IHttpMigrateRoute.accessor}. Also, it can be used as the\n * {@link IHttpLlmFunction.name} by joining with `.` character in the LLM\n * function calling application.\n *\n * Note that the `x-samchon-accessor` value must be unique in the entire\n * OpenAPI document operations. If there are duplicated `x-samchon-accessor`\n * values, {@link IHttpMigrateRoute.accessor} will ignore all duplicated\n * `x-samchon-accessor` values and generate the\n * {@link IHttpMigrateRoute.accessor} by itself.\n */\n \"x-samchon-accessor\"?: string[];\n /**\n * Controller of the operation.\n *\n * If you configure this property, the assigned value will be utilized as\n * the controller name in the OpenAPI generator library like\n * [`@nestia/editor`](https://nestia.io/docs/editor/) and\n * [`@nestia/migrate`](https://nestia.io/docs/migrate/).\n *\n * Also, if {@link x-samchon-accessor} has been configured, its last element\n * will be used as the controller method (function) name. Of course, the\n * OpenAPI document generator `@nestia/sdk` fills both of them.\n */\n \"x-samchon-controller\"?: string;\n }\n namespace IOperation {\n /** Parameter of the operation. */\n interface IParameter {\n /**\n * Representative name of the parameter.\n *\n * In most cases, the `name` is equivalent to the parameter variable name.\n * Therefore, the `name` must be filled with the significant variable name\n * of the parameter.\n *\n * Note: Only when the {@link in} property is `path`, the `name` can\n * be omitted. In that case, the `name` is automatically deduced from the\n * URL path's positional template argument analysis.\n */\n name?: string;\n /**\n * Location of the parameter.\n *\n * The `in` property is a string that determines the location of the\n * parameter.\n *\n * - `path`: parameter is part of the path of the URL.\n * - `query`: parameter is part of the query string.\n * - `header`: parameter is part of the header.\n * - `cookie`: parameter is part of the cookie.\n */\n in: \"path\" | \"query\" | \"header\" | \"cookie\";\n /** Type info of the parameter. */\n schema: IJsonSchema;\n /**\n * Whether the parameter is required for execution or not.\n *\n * If the parameter is required, the value must be filled. Otherwise, it\n * is possible to skip the parameter when executing the API operation.\n *\n * For reference, the `required` property must always be `true` when the\n * {@link in} property is `path`. Otherwise, the `required` property can be\n * any of these values: `true`, `false`, or `undefined`.\n */\n required?: boolean;\n /** Short title of the parameter. */\n title?: string;\n /** Verbose explanation of the parameter. */\n description?: string;\n /** Example value of the parameter. */\n example?: any;\n /** Collection of example values of the parameter with keys. */\n examples?: Record<string, IExample>;\n }\n /** Request body of the operation. */\n interface IRequestBody {\n content?: IContent;\n description?: string;\n required?: boolean;\n \"x-nestia-encrypted\"?: boolean;\n }\n /** Response of the operation. */\n interface IResponse {\n headers?: Record<string, IOperation.IParameter>;\n content?: IContent;\n description?: string;\n \"x-nestia-encrypted\"?: boolean;\n }\n /** List of content types supported in request/response body. */\n interface IContent extends Partial<Record<ContentType, IMediaType>> {\n }\n /** Media type of a request/response body. */\n interface IMediaType {\n schema?: IJsonSchema;\n example?: any;\n examples?: Record<string, IExample>;\n }\n /** List of supported content media types. */\n type ContentType = \"text/plain\" | \"application/json\" | \"application/x-www-form-url-encoded\" | \"multipart/form-data\" | \"*/*\" | (string & {});\n }\n /** Example of the operation parameter or response. */\n interface IExample {\n summary?: string;\n description?: string;\n value?: any;\n externalValue?: string;\n }\n /**\n * Reusable components in OpenAPI.\n *\n * A storage of reusable components in OpenAPI document.\n *\n * In other words, it is a storage of named DTO schemas and security schemes.\n */\n interface IComponents {\n /**\n * An object to hold reusable DTO schemas.\n *\n * In other words, a collection of named JSON schemas.\n */\n schemas?: Record<string, IJsonSchema>;\n /**\n * An object to hold reusable security schemes.\n *\n * In other words, a collection of named security schemes.\n */\n securitySchemes?: Record<string, ISecurityScheme>;\n }\n /**\n * Type schema information.\n *\n * `OpenApi.IJsonSchema` is a type schema info for OpenAPI.\n *\n * `OpenApi.IJsonSchema` basically follows the JSON schema definition of\n * OpenAPI v3.1, but is refined to remove ambiguous and duplicated\n * expressions of OpenAPI v3.1 for convenience and clarity.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Array type utilizes only single {@link OpenAPI.IJsonSchema.IArray.items}\n * - Tuple type utilizes only {@link OpenApi.IJsonSchema.ITuple.prefixItems}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to\n * {@link OpenApi.IJsonSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to\n * {@link OpenApi.IJsonSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link OpenApi.IJsonSchema.IReference}\n */\n type IJsonSchema = IJsonSchema.IConstant | IJsonSchema.IBoolean | IJsonSchema.IInteger | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IArray | IJsonSchema.ITuple | IJsonSchema.IObject | IJsonSchema.IReference | IJsonSchema.IOneOf | IJsonSchema.INull | IJsonSchema.IUnknown;\n namespace IJsonSchema {\n /** Constant value type. */\n interface IConstant extends IJsonSchemaAttribute {\n /** The constant value. */\n const: boolean | number | string;\n }\n /** Boolean type info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** The default value of the boolean type. */\n default?: boolean;\n }\n /** Integer type info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /**\n * Default value of the integer type.\n *\n * @type int64\n */\n default?: number;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** Number (double) type info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Default value of the number type. */\n default?: number;\n /** Minimum value restriction. */\n minimum?: number;\n /** Maximum value restriction. */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** String type info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Default value of the string type. */\n default?: string;\n /** Format restriction. */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /** Pattern restriction. */\n pattern?: string;\n /** Content media type restriction. */\n contentMediaType?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n }\n /** Array type info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type\n * `Array<T>`.\n */\n items: IJsonSchema;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Tuple type info. */\n interface ITuple extends IJsonSchemaAttribute {\n /**\n * Discriminator value of the type.\n *\n * Note that, the tuple type cannot be distinguished with {@link IArray}\n * type just by this `discriminator` property.\n *\n * To check whether the type is tuple or array, you have to check the\n * existence of {@link IArray.items} or {@link ITuple.prefixItems}\n * properties.\n */\n type: \"array\";\n /**\n * Prefix items.\n *\n * The `prefixItems` means the type schema info of the prefix items in the\n * tuple type. In the TypeScript, it is expressed as `[T1, T2]`.\n *\n * If you want to express `[T1, T2, ...TO[]]` type, you can configure the\n * `...TO[]` through the {@link additionalItems} property.\n */\n prefixItems: IJsonSchema[];\n /**\n * Additional items.\n *\n * The `additionalItems` means the type schema info of the additional\n * items after the {@link prefixItems}. In the TypeScript, if there's a\n * type `[T1, T2, ...TO[]]`, the `...TO[]` is represented by the\n * `additionalItems`.\n *\n * By the way, if you configure the `additionalItems` as `true`, it means\n * the additional items are not restricted. They can be any type, so that\n * it is equivalent to the TypeScript type `[T1, T2, ...any[]]`.\n *\n * Otherwise configure the `additionalItems` as the {@link IJsonSchema}, it\n * means the additional items must follow the type schema info. Therefore,\n * it is equivalent to the TypeScript type `[T1, T2, ...TO[]]`.\n */\n additionalItems?: boolean | IJsonSchema;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target tuple must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the tuple.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the tuple.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Object type info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's\n * regular properties. The key is the name of the regular property, and\n * the value is the type schema info.\n *\n * If you need additional properties that is represented by dynamic key,\n * you can use the {@link additionalProperties} instead.\n */\n properties?: Record<string, IJsonSchema>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link IJsonSchema} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IJsonSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | IJsonSchema;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required?: string[];\n }\n /** Reference type directing named schema. */\n interface IReference<Key = string> extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `ref` is a reference to the named schema. Format of the `$ref` is\n * following the JSON Pointer specification. In the OpenAPI, the `$ref`\n * starts with `#/components/schemas/` which means the type is stored in\n * the {@link OpenApi.IComponents.schemas} object.\n *\n * - `#/components/schemas/SomeObject`\n * - `#/components/schemas/AnotherObject`\n */\n $ref: Key;\n }\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n oneOf: Exclude<IJsonSchema, IJsonSchema.IOneOf>[];\n /** Discriminator info of the union type. */\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n /** Discriminator info of the union type. */\n interface IDiscriminator {\n /** Property name for the discriminator. */\n propertyName: string;\n /**\n * Mapping of the discriminator value to the schema name.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\n * discriminator value, and `value` of `mapping` is the schema name like\n * `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /** Null type. */\n interface INull extends IJsonSchemaAttribute.INull {\n /** Default value of the `null` type. */\n default?: null;\n }\n /** Unknown, the `any` type. */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n /** Default value of the `any` type. */\n default?: any;\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @ignore\n * @deprecated\n */\n interface __ISignificant<Type extends string> extends IJsonSchemaAttribute {\n /** Discriminator value of the type. */\n type: Type;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @ignore\n * @deprecated\n */\n type __IAttribute = IJsonSchemaAttribute;\n }\n /**\n * Security scheme of Swagger Documents.\n *\n * `OpenApi.ISecurityScheme` is a data structure representing content of\n * `securitySchemes` in `swagger.json` file. It is composed with 5 types of\n * security schemes as an union type like below.\n *\n * @reference https://swagger.io/specification/#security-scheme-object\n */\n type ISecurityScheme = ISecurityScheme.IApiKey | ISecurityScheme.IHttpBasic | ISecurityScheme.IHttpBearer | ISecurityScheme.IOAuth2 | ISecurityScheme.IOpenId;\n namespace ISecurityScheme {\n /** Normal API key type. */\n interface IApiKey {\n type: \"apiKey\";\n in?: \"header\" | \"query\" | \"cookie\";\n name?: string;\n description?: string;\n }\n /** HTTP basic authentication type. */\n interface IHttpBasic {\n type: \"http\";\n scheme: \"basic\";\n description?: string;\n }\n /** HTTP bearer authentication type. */\n interface IHttpBearer {\n type: \"http\";\n scheme: \"bearer\";\n bearerFormat?: string;\n description?: string;\n }\n /** OAuth2 authentication type. */\n interface IOAuth2 {\n type: \"oauth2\";\n flows: IOAuth2.IFlowSet;\n description?: string;\n }\n interface IOpenId {\n type: \"openIdConnect\";\n openIdConnectUrl: string;\n description?: string;\n }\n namespace IOAuth2 {\n interface IFlowSet {\n authorizationCode?: IFlow;\n implicit?: Omit<IFlow, \"tokenUrl\">;\n password?: Omit<IFlow, \"authorizationUrl\">;\n clientCredentials?: Omit<IFlow, \"authorizationUrl\">;\n }\n interface IFlow {\n authorizationUrl?: string;\n tokenUrl?: string;\n refreshUrl?: string;\n scopes?: Record<string, string>;\n }\n }\n }\n}\n",
30
+ "node_modules/@samchon/openapi/lib/OpenApi.d.ts": "import { OpenApiV3 } from \"./OpenApiV3\";\nimport { OpenApiV3_1 } from \"./OpenApiV3_1\";\nimport { SwaggerV2 } from \"./SwaggerV2\";\nimport { IJsonSchemaAttribute } from \"./structures/IJsonSchemaAttribute\";\n/**\n * Emended OpenAPI v3.1 definition used by `typia` and `nestia`.\n *\n * `OpenApi` is a namespace containing functions and interfaces for emended\n * OpenAPI v3.1 specification. The keyword \"emended\" means that `OpenApi` is not\n * a direct OpenAPI v3.1 specification ({@link OpenApiV3_1}), but a little bit\n * shrunk to remove ambiguous and duplicated expressions of OpenAPI v3.1 for the\n * convenience of `typia` and `nestia`.\n *\n * For example, when representing nullable type, OpenAPI v3.1 supports three\n * ways. In that case, `OpenApi` remains only the third way, so that makes\n * `typia` and `nestia` (especially `@nestia/editor`) to be simple and easy to\n * implement.\n *\n * 1. `{ type: [\"string\", \"null\"] }`\n * 2. `{ type: \"string\", nullable: true }`\n * 3. `{ oneOf: [{ type: \"string\" }, { type: \"null\" }] }`\n *\n * Here is the entire list of differences between OpenAPI v3.1 and emended\n * `OpenApi`.\n *\n * - Operation\n *\n * - Merge {@link OpenApiV3_1.IPath.parameters} to\n * {@link OpenApi.IOperation.parameters}\n * - Resolve {@link OpenApi.IJsonSchema.IReference references} of\n * {@link OpenApiV3_1.IOperation} members\n * - Escape references of {@link OpenApiV3_1.IComponents.examples}\n * - JSON Schema\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Array type utilizes only single {@link OpenApi.IJsonSchema.IArray.items}\n * - Tuple type utilizes only {@link OpenApi.IJsonSchema.ITuple.prefixItems}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to\n * {@link OpenApi.IJsonSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to\n * {@link OpenApi.IJsonSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link OpenApi.IJsonSchema.IReference}\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace OpenApi {\n /** Method of the operation. */\n type Method = \"get\" | \"post\" | \"put\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\";\n /**\n * Convert Swagger or OpenAPI document into emended OpenAPI v3.1 document.\n *\n * @param input Swagger or OpenAPI document to convert\n * @returns Emended OpenAPI v3.1 document\n */\n function convert(input: SwaggerV2.IDocument | OpenApiV3.IDocument | OpenApiV3_1.IDocument | OpenApi.IDocument): IDocument;\n /**\n * Downgrade to Swagger v2.0 document.\n *\n * Downgrade the given document (emended OpenAPI v3.1) into Swagger v2.0.\n *\n * @param document Emended OpenAPI v3.1 document to downgrade\n * @param version Version to downgrade\n * @returns Swagger v2.0 document\n */\n function downgrade(document: IDocument, version: \"2.0\"): SwaggerV2.IDocument;\n /**\n * Downgrade to OpenAPI v3.0 document.\n *\n * Downgrade the given document (emended OpenAPI v3.1) into OpenAPI v3.0.\n *\n * @param document Emended OpenAPI v3.1 document to downgrade\n * @param version Version to downgrade\n * @returns OpenAPI v3.0 document\n */\n function downgrade(document: IDocument, version: \"3.0\"): OpenApiV3.IDocument;\n /**\n * OpenAPI document.\n *\n * `OpenApi.IDocument` represents an OpenAPI document of emended OpenAPI v3.1.\n *\n * In other words, `OpenApi.IDocument` is a structure of `swagger.json` file\n * of OpenAPI v3.1 specification, but a little bit shrunk to remove ambiguous\n * and duplicated expressions of OpenAPI v3.1 for the convenience and\n * clarity.\n */\n interface IDocument {\n /** OpenAPI version number. */\n openapi: `3.1.${number}`;\n /** List of servers that provide the API. */\n servers?: IServer[];\n /** Information about the API. */\n info?: IDocument.IInfo;\n /**\n * An object to hold reusable data structures.\n *\n * It stores both DTO schemas and security schemes.\n *\n * For reference, `nestia` defines every object and alias types as reusable\n * DTO schemas. The alias type means that defined by `type` keyword in\n * TypeScript.\n */\n components: IComponents;\n /**\n * The available paths and operations for the API.\n *\n * The 1st key is the path, and the 2nd key is the HTTP method.\n */\n paths?: Record<string, IPath>;\n /**\n * An object to hold Webhooks.\n *\n * Its structure is the same as {@link paths}, so the first key is the path,\n * and the second key is the HTTP method.\n */\n webhooks?: Record<string, IPath>;\n /**\n * A declaration of which security mechanisms can be used across the API.\n *\n * When this property is configured, it will be overwritten in every API\n * route.\n *\n * For reference, the key means the name of the security scheme and the\n * value means the `scopes`. The `scopes` can be used only when the target\n * security scheme is `oauth2` type, especially for\n * {@link ISwaggerSecurityScheme.IOAuth2.IFlow.scopes} property.\n */\n security?: Record<string, string[]>[];\n /**\n * List of tag names with descriptions.\n *\n * It is possible to omit this property or skip some tag names even if the\n * tag name is used in the API routes. In that case, the tag name will be\n * displayed (in Swagger-UI) without description.\n */\n tags?: IDocument.ITag[];\n /** Flag for indicating this document is emended by `@samchon/openapi` v4. */\n \"x-samchon-emended-v4\": true;\n }\n namespace IDocument {\n /** Information about the API. */\n interface IInfo {\n /** The title of the API. */\n title: string;\n /** A short summary of the API. */\n summary?: string;\n /** A full description of the API. */\n description?: string;\n /** A URL to the Terms of Service for the API. */\n termsOfService?: string;\n /** The contact information for the exposed API. */\n contact?: IContact;\n /** The license information for the exposed API. */\n license?: ILicense;\n /** Version of the API. */\n version: string;\n }\n /**\n * OpenAPI tag information.\n *\n * It is possible to skip composing this structure, even if some tag names\n * are registered in the API routes ({@link OpenApi.IOperation.tags}). In\n * that case, the tag name will be displayed in Swagger-UI without\n * description.\n *\n * However, if you want to describe the tag name, you can compose this\n * structure and describe the tag name in the {@link description} property.\n */\n interface ITag {\n /** The name of the tag. */\n name: string;\n /** An optional string describing the tag. */\n description?: string;\n }\n /** Contact information for the exposed API. */\n interface IContact {\n /** The identifying name of the contact person/organization. */\n name?: string;\n /** The URL pointing to the contact information. */\n url?: string;\n /**\n * The email address of the contact person/organization.\n *\n * @format email\n */\n email?: string;\n }\n /** License information for the exposed API. */\n interface ILicense {\n /** The license name used for the API. */\n name: string;\n /**\n * Identifier for the license used for the API.\n *\n * Example: MIT\n */\n identifier?: string;\n /** A URL to the license used for the API. */\n url?: string;\n }\n }\n /** The remote server that provides the API. */\n interface IServer {\n /** A URL to the target host. */\n url: string;\n /** An optional string describing the target server. */\n description?: string;\n /**\n * A map between a variable name and its value.\n *\n * When the server {@link url} is a template type, this property will be\n * utilized to fill the template with actual values.\n */\n variables?: Record<string, IServer.IVariable>;\n }\n namespace IServer {\n /** A variable for the server URL template. */\n interface IVariable {\n /** Default value to use for substitution. */\n default: string;\n /** List of available values for the variable. */\n enum?: string[];\n /** An optional description for the server variable. */\n description?: string;\n }\n }\n /**\n * Path item.\n *\n * `OpenApi.IPath` represents a path item of emended OpenAPI v3.1, collecting\n * multiple method operations under a single path.\n */\n interface IPath extends Partial<Record<Method, IOperation>> {\n /** Servers that provide the path operations. */\n servers?: IServer[];\n /** Summary of the path. */\n summary?: string;\n /** Description of the path. */\n description?: string;\n }\n /**\n * Remote operation information.\n *\n * `OpenApi.IOperation` represents a RESTful API operation provided by the\n * remote server.\n */\n interface IOperation {\n /** Unique string used to identify the operation. */\n operationId?: string;\n /** List of parameters that are applicable for this operation. */\n parameters?: IOperation.IParameter[];\n /** The request body applicable for this operation. */\n requestBody?: IOperation.IRequestBody;\n /**\n * The list of possible responses as they are returned from executing this\n * operation. Its key is the HTTP status code, and the value is the metadata\n * of the response in the HTTP status code.\n */\n responses?: Record<string, IOperation.IResponse>;\n /** A list of servers providing this API operation. */\n servers?: IServer[];\n /** A short summary of what the operation does. */\n summary?: string;\n /** A verbose explanation of the operation behavior. */\n description?: string;\n /**\n * List of securities and their scopes that are required for execution.\n *\n * When this property is configured, the RESTful API operation requires the\n * matching security value for execution. Its key means the security key\n * matching {@link OpenApi.IDocument.security}.\n *\n * The value means scopes required for the security key when the security\n * type is {@link OpenApi.ISecurityScheme.IOAuth2}. Otherwise, if the target\n * security type is not {@link OpenApi.ISecurityScheme.IOAuth2}, the value\n * will be an empty array.\n */\n security?: Record<string, string[]>[];\n /** Tags for API documentation control. */\n tags?: string[];\n /** Flag for indicating this operation is deprecated. */\n deprecated?: boolean;\n /**\n * Flag for indicating this operation is human-only.\n *\n * If this property value is `true`, the {@link HttpLlm.application} function\n * will not convert this operation schema into the LLM function calling\n * schema that is represented by the {@link IHttpLlmFunction} interface.\n */\n \"x-samchon-human\"?: boolean;\n /**\n * Accessor of the operation.\n *\n * If you configure this property, the assigned value will be used as\n * {@link IHttpMigrateRoute.accessor}. Also, it can be used as the\n * {@link IHttpLlmFunction.name} by joining with `.` character in the LLM\n * function calling application.\n *\n * Note that the `x-samchon-accessor` value must be unique in the entire\n * OpenAPI document operations. If there are duplicated `x-samchon-accessor`\n * values, {@link IHttpMigrateRoute.accessor} will ignore all duplicated\n * `x-samchon-accessor` values and generate the\n * {@link IHttpMigrateRoute.accessor} by itself.\n */\n \"x-samchon-accessor\"?: string[];\n /**\n * Controller of the operation.\n *\n * If you configure this property, the assigned value will be utilized as\n * the controller name in the OpenAPI generator library like\n * [`@nestia/editor`](https://nestia.io/docs/editor/) and\n * [`@nestia/migrate`](https://nestia.io/docs/migrate/).\n *\n * Also, if {@link x-samchon-accessor} has been configured, its last element\n * will be used as the controller method (function) name. Of course, the\n * OpenAPI document generator `@nestia/sdk` fills both of them.\n */\n \"x-samchon-controller\"?: string;\n }\n namespace IOperation {\n /** Parameter of the operation. */\n interface IParameter {\n /**\n * Representative name of the parameter.\n *\n * In most cases, the `name` is equivalent to the parameter variable name.\n * Therefore, the `name` must be filled with the significant variable name\n * of the parameter.\n *\n * Note: Only when the {@link in} property is `path`, the `name` can be\n * omitted. In that case, the `name` is automatically deduced from the URL\n * path's positional template argument analysis.\n */\n name?: string;\n /**\n * Location of the parameter.\n *\n * The `in` property is a string that determines the location of the\n * parameter.\n *\n * - `path`: parameter is part of the path of the URL.\n * - `query`: parameter is part of the query string.\n * - `header`: parameter is part of the header.\n * - `cookie`: parameter is part of the cookie.\n */\n in: \"path\" | \"query\" | \"header\" | \"cookie\";\n /** Type info of the parameter. */\n schema: IJsonSchema;\n /**\n * Whether the parameter is required for execution or not.\n *\n * If the parameter is required, the value must be filled. Otherwise, it\n * is possible to skip the parameter when executing the API operation.\n *\n * For reference, the `required` property must always be `true` when the\n * {@link in} property is `path`. Otherwise, the `required` property can be\n * any of these values: `true`, `false`, or `undefined`.\n */\n required?: boolean;\n /** Verbose explanation of the parameter. */\n description?: string;\n /** Example value of the parameter. */\n example?: any;\n /** Collection of example values of the parameter with keys. */\n examples?: Record<string, IExample>;\n }\n /** Request body of the operation. */\n interface IRequestBody {\n content?: IContent;\n description?: string;\n required?: boolean;\n \"x-nestia-encrypted\"?: boolean;\n }\n /** Response of the operation. */\n interface IResponse {\n headers?: Record<string, IOperation.IParameter>;\n content?: IContent;\n description?: string;\n \"x-nestia-encrypted\"?: boolean;\n }\n /** List of content types supported in request/response body. */\n interface IContent extends Partial<Record<ContentType, IMediaType>> {\n }\n /** Media type of a request/response body. */\n interface IMediaType {\n schema?: IJsonSchema;\n example?: any;\n examples?: Record<string, IExample>;\n }\n /** List of supported content media types. */\n type ContentType = \"text/plain\" | \"application/json\" | \"application/x-www-form-url-encoded\" | \"multipart/form-data\" | \"*/*\" | (string & {});\n }\n /** Example of the operation parameter or response. */\n interface IExample {\n summary?: string;\n description?: string;\n value?: any;\n externalValue?: string;\n }\n /**\n * Reusable components in OpenAPI.\n *\n * A storage of reusable components in OpenAPI document.\n *\n * In other words, it is a storage of named DTO schemas and security schemes.\n */\n interface IComponents {\n /**\n * An object to hold reusable DTO schemas.\n *\n * In other words, a collection of named JSON schemas.\n */\n schemas?: Record<string, IJsonSchema>;\n /**\n * An object to hold reusable security schemes.\n *\n * In other words, a collection of named security schemes.\n */\n securitySchemes?: Record<string, ISecurityScheme>;\n }\n /**\n * Type schema information.\n *\n * `OpenApi.IJsonSchema` is a type schema info for OpenAPI.\n *\n * `OpenApi.IJsonSchema` basically follows the JSON schema definition of\n * OpenAPI v3.1, but is refined to remove ambiguous and duplicated expressions\n * of OpenAPI v3.1 for convenience and clarity.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Array type utilizes only single {@link OpenAPI.IJsonSchema.IArray.items}\n * - Tuple type utilizes only {@link OpenApi.IJsonSchema.ITuple.prefixItems}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to\n * {@link OpenApi.IJsonSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to\n * {@link OpenApi.IJsonSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link OpenApi.IJsonSchema.IReference}\n */\n type IJsonSchema = IJsonSchema.IConstant | IJsonSchema.IBoolean | IJsonSchema.IInteger | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IArray | IJsonSchema.ITuple | IJsonSchema.IObject | IJsonSchema.IReference | IJsonSchema.IOneOf | IJsonSchema.INull | IJsonSchema.IUnknown;\n namespace IJsonSchema {\n /** Constant value type. */\n interface IConstant extends IJsonSchemaAttribute {\n /** The constant value. */\n const: boolean | number | string;\n }\n /** Boolean type info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** The default value of the boolean type. */\n default?: boolean;\n }\n /** Integer type info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /**\n * Default value of the integer type.\n *\n * @type int64\n */\n default?: number;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** Number (double) type info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Default value of the number type. */\n default?: number;\n /** Minimum value restriction. */\n minimum?: number;\n /** Maximum value restriction. */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** String type info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Default value of the string type. */\n default?: string;\n /** Format restriction. */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /** Pattern restriction. */\n pattern?: string;\n /** Content media type restriction. */\n contentMediaType?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n }\n /** Array type info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type\n * `Array<T>`.\n */\n items: IJsonSchema;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Tuple type info. */\n interface ITuple extends IJsonSchemaAttribute {\n /**\n * Discriminator value of the type.\n *\n * Note that, the tuple type cannot be distinguished with {@link IArray}\n * type just by this `discriminator` property.\n *\n * To check whether the type is tuple or array, you have to check the\n * existence of {@link IArray.items} or {@link ITuple.prefixItems}\n * properties.\n */\n type: \"array\";\n /**\n * Prefix items.\n *\n * The `prefixItems` means the type schema info of the prefix items in the\n * tuple type. In the TypeScript, it is expressed as `[T1, T2]`.\n *\n * If you want to express `[T1, T2, ...TO[]]` type, you can configure the\n * `...TO[]` through the {@link additionalItems} property.\n */\n prefixItems: IJsonSchema[];\n /**\n * Additional items.\n *\n * The `additionalItems` means the type schema info of the additional\n * items after the {@link prefixItems}. In the TypeScript, if there's a\n * type `[T1, T2, ...TO[]]`, the `...TO[]` is represented by the\n * `additionalItems`.\n *\n * By the way, if you configure the `additionalItems` as `true`, it means\n * the additional items are not restricted. They can be any type, so that\n * it is equivalent to the TypeScript type `[T1, T2, ...any[]]`.\n *\n * Otherwise configure the `additionalItems` as the {@link IJsonSchema}, it\n * means the additional items must follow the type schema info. Therefore,\n * it is equivalent to the TypeScript type `[T1, T2, ...TO[]]`.\n */\n additionalItems?: boolean | IJsonSchema;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target tuple must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the tuple.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the tuple.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Object type info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's\n * regular properties. The key is the name of the regular property, and\n * the value is the type schema info.\n *\n * If you need additional properties that is represented by dynamic key,\n * you can use the {@link additionalProperties} instead.\n */\n properties?: Record<string, IJsonSchema>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link IJsonSchema} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IJsonSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | IJsonSchema;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required?: string[];\n }\n /** Reference type directing named schema. */\n interface IReference<Key = string> extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `ref` is a reference to the named schema. Format of the `$ref` is\n * following the JSON Pointer specification. In the OpenAPI, the `$ref`\n * starts with `#/components/schemas/` which means the type is stored in\n * the {@link OpenApi.IComponents.schemas} object.\n *\n * - `#/components/schemas/SomeObject`\n * - `#/components/schemas/AnotherObject`\n */\n $ref: Key;\n }\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n oneOf: Exclude<IJsonSchema, IJsonSchema.IOneOf>[];\n /** Discriminator info of the union type. */\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n /** Discriminator info of the union type. */\n interface IDiscriminator {\n /** Property name for the discriminator. */\n propertyName: string;\n /**\n * Mapping of the discriminator value to the schema name.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\n * discriminator value, and `value` of `mapping` is the schema name like\n * `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /** Null type. */\n interface INull extends IJsonSchemaAttribute.INull {\n /** Default value of the `null` type. */\n default?: null;\n }\n /** Unknown, the `any` type. */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n /** Default value of the `any` type. */\n default?: any;\n }\n }\n /**\n * Security scheme of Swagger Documents.\n *\n * `OpenApi.ISecurityScheme` is a data structure representing content of\n * `securitySchemes` in `swagger.json` file. It is composed with 5 types of\n * security schemes as an union type like below.\n *\n * @reference https://swagger.io/specification/#security-scheme-object\n */\n type ISecurityScheme = ISecurityScheme.IApiKey | ISecurityScheme.IHttpBasic | ISecurityScheme.IHttpBearer | ISecurityScheme.IOAuth2 | ISecurityScheme.IOpenId;\n namespace ISecurityScheme {\n /** Normal API key type. */\n interface IApiKey {\n type: \"apiKey\";\n in?: \"header\" | \"query\" | \"cookie\";\n name?: string;\n description?: string;\n }\n /** HTTP basic authentication type. */\n interface IHttpBasic {\n type: \"http\";\n scheme: \"basic\";\n description?: string;\n }\n /** HTTP bearer authentication type. */\n interface IHttpBearer {\n type: \"http\";\n scheme: \"bearer\";\n bearerFormat?: string;\n description?: string;\n }\n /** OAuth2 authentication type. */\n interface IOAuth2 {\n type: \"oauth2\";\n flows: IOAuth2.IFlowSet;\n description?: string;\n }\n interface IOpenId {\n type: \"openIdConnect\";\n openIdConnectUrl: string;\n description?: string;\n }\n namespace IOAuth2 {\n interface IFlowSet {\n authorizationCode?: IFlow;\n implicit?: Omit<IFlow, \"tokenUrl\">;\n password?: Omit<IFlow, \"authorizationUrl\">;\n clientCredentials?: Omit<IFlow, \"authorizationUrl\">;\n }\n interface IFlow {\n authorizationUrl?: string;\n tokenUrl?: string;\n refreshUrl?: string;\n scopes?: Record<string, string>;\n }\n }\n }\n}\n",
31
31
  "node_modules/@samchon/openapi/lib/OpenApiV3.d.ts": "import { IJsonSchemaAttribute } from \"./structures/IJsonSchemaAttribute\";\n/**\n * OpenAPI 3.0 definition.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace OpenApiV3 {\n type Method = \"get\" | \"post\" | \"put\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\";\n interface IDocument {\n openapi: \"3.0\" | `3.0.${number}`;\n servers?: IServer[];\n info?: IDocument.IInfo;\n components?: IComponents;\n paths?: Record<string, IPath>;\n security?: Record<string, string[]>[];\n tags?: IDocument.ITag[];\n }\n namespace IDocument {\n interface IInfo {\n title: string;\n description?: string;\n termsOfService?: string;\n contact?: IContact;\n license?: ILicense;\n version: string;\n }\n interface ITag {\n name: string;\n description?: string;\n }\n interface IContact {\n name?: string;\n url?: string;\n email?: string;\n }\n interface ILicense {\n name: string;\n url?: string;\n }\n }\n interface IServer {\n url: string;\n description?: string;\n variables?: Record<string, IServer.IVariable>;\n }\n namespace IServer {\n interface IVariable {\n default: string;\n enum?: string[];\n description?: string;\n }\n }\n interface IPath extends Partial<Record<Method, IOperation | undefined>> {\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/components/headers/${string}`> | IJsonSchema.IReference<`#/components/parameters/${string}`>>;\n servers?: IServer[];\n summary?: string;\n description?: string;\n }\n interface IOperation {\n operationId?: string;\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/components/headers/${string}`> | IJsonSchema.IReference<`#/components/parameters/${string}`>>;\n requestBody?: IOperation.IRequestBody | IJsonSchema.IReference<`#/components/requestBodies/${string}`>;\n responses?: Record<string, IOperation.IResponse | IJsonSchema.IReference<`#/components/responses/${string}`>>;\n servers?: IServer[];\n summary?: string;\n description?: string;\n security?: Record<string, string[]>[];\n tags?: string[];\n deprecated?: boolean;\n }\n namespace IOperation {\n interface IParameter {\n name?: string;\n in: \"path\" | \"query\" | \"header\" | \"cookie\";\n schema: IJsonSchema;\n required?: boolean;\n description?: string;\n example?: any;\n examples?: Record<string, IExample | IJsonSchema.IReference<`#/components/examples/${string}`>>;\n }\n interface IRequestBody {\n description?: string;\n required?: boolean;\n content?: Record<string, IMediaType>;\n }\n interface IResponse {\n content?: Record<string, IMediaType>;\n headers?: Record<string, Omit<IOperation.IParameter, \"in\"> | IJsonSchema.IReference<`#/components/headers/${string}`>>;\n description?: string;\n }\n interface IMediaType {\n schema?: IJsonSchema;\n example?: any;\n examples?: Record<string, IExample | IJsonSchema.IReference<`#/components/examples/${string}`>>;\n }\n }\n interface IExample {\n summary?: string;\n description?: string;\n value?: any;\n externalValue?: string;\n }\n interface IComponents {\n schemas?: Record<string, IJsonSchema>;\n responses?: Record<string, IOperation.IResponse>;\n parameters?: Record<string, IOperation.IParameter>;\n requestBodies?: Record<string, IOperation.IRequestBody>;\n securitySchemes?: Record<string, ISecurityScheme>;\n headers?: Record<string, Omit<IOperation.IParameter, \"in\">>;\n examples?: Record<string, IExample>;\n }\n type IJsonSchema = IJsonSchema.IBoolean | IJsonSchema.IInteger | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IArray | IJsonSchema.IObject | IJsonSchema.IReference | IJsonSchema.IAllOf | IJsonSchema.IAnyOf | IJsonSchema.IOneOf | IJsonSchema.INullOnly | IJsonSchema.IUnknown;\n namespace IJsonSchema {\n interface IBoolean extends Omit<IJsonSchemaAttribute.IBoolean, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: boolean | null;\n enum?: Array<boolean | null>;\n }\n interface IInteger extends Omit<IJsonSchemaAttribute.IInteger, \"examples\">, __IAttribute {\n nullable?: boolean;\n /** @type int64 */ default?: number | null;\n /** @type int64 */ enum?: Array<number | null>;\n /** @type int64 */ minimum?: number;\n /** @type int64 */ maximum?: number;\n exclusiveMinimum?: number | boolean;\n exclusiveMaximum?: number | boolean;\n /**\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n interface INumber extends Omit<IJsonSchemaAttribute.INumber, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: number | null;\n enum?: Array<number | null>;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number | boolean;\n exclusiveMaximum?: number | boolean;\n /** @exclusiveMinimum 0 */ multipleOf?: number;\n }\n interface IString extends Omit<IJsonSchemaAttribute.IString, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: string | null;\n enum?: Array<string | null>;\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n pattern?: string;\n /** @type uint64 */ minLength?: number;\n /** @type uint64 */ maxLength?: number;\n }\n interface IArray extends Omit<IJsonSchemaAttribute.IArray, \"examples\">, __IAttribute {\n nullable?: boolean;\n items: IJsonSchema;\n uniqueItems?: boolean;\n /** @type uint64 */ minItems?: number;\n /** @type uint64 */ maxItems?: number;\n }\n interface IObject extends Omit<IJsonSchemaAttribute.IObject, \"examples\">, __IAttribute {\n nullable?: boolean;\n properties?: Record<string, IJsonSchema>;\n required?: string[];\n additionalProperties?: boolean | IJsonSchema;\n maxProperties?: number;\n minProperties?: number;\n }\n interface IReference<Key = string> extends __IAttribute {\n $ref: Key;\n }\n interface IAllOf extends __IAttribute {\n allOf: IJsonSchema[];\n }\n interface IAnyOf extends __IAttribute {\n anyOf: IJsonSchema[];\n }\n interface IOneOf extends __IAttribute {\n oneOf: IJsonSchema[];\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n interface IDiscriminator {\n propertyName: string;\n mapping?: Record<string, string>;\n }\n }\n interface INullOnly extends Omit<IJsonSchemaAttribute.INull, \"examples\">, __IAttribute {\n default?: null;\n }\n interface IUnknown extends Omit<IJsonSchemaAttribute.IUnknown, \"examples\">, __IAttribute {\n default?: any;\n }\n interface __IAttribute extends Omit<IJsonSchemaAttribute, \"examples\"> {\n examples?: any[] | Record<string, any>;\n }\n }\n type ISecurityScheme = ISecurityScheme.IApiKey | ISecurityScheme.IHttpBasic | ISecurityScheme.IHttpBearer | ISecurityScheme.IOAuth2 | ISecurityScheme.IOpenId;\n namespace ISecurityScheme {\n interface IApiKey {\n type: \"apiKey\";\n in?: \"header\" | \"query\" | \"cookie\";\n name?: string;\n description?: string;\n }\n interface IHttpBasic {\n type: \"http\";\n scheme: \"basic\";\n description?: string;\n }\n interface IHttpBearer {\n type: \"http\";\n scheme: \"bearer\";\n bearerFormat?: string;\n description?: string;\n }\n interface IOAuth2 {\n type: \"oauth2\";\n flows: IOAuth2.IFlowSet;\n description?: string;\n }\n interface IOpenId {\n type: \"openIdConnect\";\n openIdConnectUrl: string;\n description?: string;\n }\n namespace IOAuth2 {\n interface IFlowSet {\n authorizationCode?: IFlow;\n implicit?: Omit<IFlow, \"tokenUrl\">;\n password?: Omit<IFlow, \"authorizationUrl\">;\n clientCredentials?: Omit<IFlow, \"authorizationUrl\">;\n }\n interface IFlow {\n authorizationUrl?: string;\n tokenUrl?: string;\n refreshUrl?: string;\n scopes?: Record<string, string>;\n }\n }\n }\n}\n",
32
32
  "node_modules/@samchon/openapi/lib/OpenApiV3_1.d.ts": "import { IJsonSchemaAttribute } from \"./structures/IJsonSchemaAttribute\";\n/**\n * OpenAPI v3.1 definition.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace OpenApiV3_1 {\n type Method = \"get\" | \"post\" | \"put\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\";\n interface IDocument {\n openapi: `3.1.${number}`;\n servers?: IServer[];\n info?: IDocument.IInfo;\n components?: IComponents;\n paths?: Record<string, IPath>;\n webhooks?: Record<string, IJsonSchema.IReference<`#/components/pathItems/${string}`> | IPath>;\n security?: Record<string, string[]>[];\n tags?: IDocument.ITag[];\n }\n namespace IDocument {\n interface IInfo {\n title: string;\n summary?: string;\n description?: string;\n termsOfService?: string;\n contact?: IContact;\n license?: ILicense;\n version: string;\n }\n interface ITag {\n name: string;\n description?: string;\n }\n interface IContact {\n name?: string;\n url?: string;\n email?: string;\n }\n interface ILicense {\n name: string;\n identifier?: string;\n url?: string;\n }\n }\n interface IServer {\n url: string;\n description?: string;\n variables?: Record<string, IServer.IVariable>;\n }\n namespace IServer {\n interface IVariable {\n default: string;\n /** @minItems 1 */ enum?: string[];\n description?: string;\n }\n }\n interface IPath extends Partial<Record<Method, IOperation>> {\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/components/headers/${string}`> | IJsonSchema.IReference<`#/components/parameters/${string}`>>;\n servers?: IServer[];\n summary?: string;\n description?: string;\n }\n interface IOperation {\n operationId?: string;\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/components/headers/${string}`> | IJsonSchema.IReference<`#/components/parameters/${string}`>>;\n requestBody?: IOperation.IRequestBody | IJsonSchema.IReference<`#/components/requestBodies/${string}`>;\n responses?: Record<string, IOperation.IResponse | IJsonSchema.IReference<`#/components/responses/${string}`>>;\n servers?: IServer[];\n summary?: string;\n description?: string;\n security?: Record<string, string[]>[];\n tags?: string[];\n deprecated?: boolean;\n }\n namespace IOperation {\n interface IParameter {\n name?: string;\n in: \"path\" | \"query\" | \"header\" | \"cookie\";\n schema: IJsonSchema;\n required?: boolean;\n description?: string;\n example?: any;\n examples?: Record<string, IExample | IJsonSchema.IReference<`#/components/examples/${string}`>>;\n }\n interface IRequestBody {\n description?: string;\n required?: boolean;\n content?: Record<string, IMediaType>;\n }\n interface IResponse {\n content?: Record<string, IMediaType>;\n headers?: Record<string, Omit<IOperation.IParameter, \"in\"> | IJsonSchema.IReference<`#/components/headers/${string}`>>;\n description?: string;\n }\n interface IMediaType {\n schema?: IJsonSchema;\n example?: any;\n examples?: Record<string, IExample | IJsonSchema.IReference<`#/components/examples/${string}`>>;\n }\n }\n interface IExample {\n summary?: string;\n description?: string;\n value?: any;\n externalValue?: string;\n }\n interface IComponents {\n schemas?: Record<string, IJsonSchema>;\n pathItems?: Record<string, IPath>;\n responses?: Record<string, IOperation.IResponse>;\n parameters?: Record<string, IOperation.IParameter>;\n requestBodies?: Record<string, IOperation.IRequestBody>;\n securitySchemes?: Record<string, ISecurityScheme>;\n headers?: Record<string, Omit<IOperation.IParameter, \"in\">>;\n examples?: Record<string, IExample>;\n }\n type IJsonSchema = IJsonSchema.IMixed | IJsonSchema.IConstant | IJsonSchema.IBoolean | IJsonSchema.IInteger | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IArray | IJsonSchema.IObject | IJsonSchema.IReference | IJsonSchema.IRecursiveReference | IJsonSchema.IAllOf | IJsonSchema.IAnyOf | IJsonSchema.IOneOf | IJsonSchema.INull | IJsonSchema.IUnknown;\n namespace IJsonSchema {\n interface IMixed extends IConstant, Omit<IBoolean, \"type\" | \"default\" | \"enum\">, Omit<INumber, \"type\" | \"default\" | \"enum\">, Omit<IString, \"type\" | \"default\" | \"enum\">, Omit<IArray, \"type\">, Omit<IObject, \"type\">, IOneOf, IAnyOf, IAllOf, IReference {\n type: Array<\"boolean\" | \"integer\" | \"number\" | \"string\" | \"array\" | \"object\" | \"null\">;\n default?: any[] | null;\n enum?: any[];\n }\n interface IConstant extends __IAttribute {\n const: boolean | number | string;\n nullable?: boolean;\n }\n interface IBoolean extends Omit<IJsonSchemaAttribute.IBoolean, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: boolean | null;\n enum?: Array<boolean | null>;\n }\n interface IInteger extends Omit<IJsonSchemaAttribute.IInteger, \"examples\">, __IAttribute {\n nullable?: boolean;\n /** @type int64 */ default?: number | null;\n /** @type int64 */ enum?: Array<number | null>;\n /** @type int64 */ minimum?: number;\n /** @type int64 */ maximum?: number;\n /** @type int64 */ exclusiveMinimum?: number | boolean;\n /** @type int64 */ exclusiveMaximum?: number | boolean;\n /**\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n interface INumber extends Omit<IJsonSchemaAttribute.INumber, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: number | null;\n enum?: Array<number | null>;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number | boolean;\n exclusiveMaximum?: number | boolean;\n /** @exclusiveMinimum 0 */ multipleOf?: number;\n }\n interface IString extends Omit<IJsonSchemaAttribute.IString, \"examples\">, __IAttribute {\n nullable?: boolean;\n default?: string | null;\n enum?: Array<string | null>;\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n pattern?: string;\n contentMediaType?: string;\n /** @type uint64 */ minLength?: number;\n /** @type uint64 */ maxLength?: number;\n }\n interface IObject extends Omit<IJsonSchemaAttribute.IObject, \"examples\">, __IAttribute {\n nullable?: boolean;\n properties?: Record<string, IJsonSchema>;\n required?: string[];\n additionalProperties?: boolean | IJsonSchema;\n maxProperties?: number;\n minProperties?: number;\n }\n interface IArray extends Omit<IJsonSchemaAttribute.IArray, \"examples\">, __IAttribute {\n nullable?: boolean;\n items?: IJsonSchema | IJsonSchema[];\n prefixItems?: IJsonSchema[];\n uniqueItems?: boolean;\n additionalItems?: boolean | IJsonSchema;\n /** @type uint64 */ minItems?: number;\n /** @type uint64 */ maxItems?: number;\n }\n interface IReference<Key = string> extends __IAttribute {\n $ref: Key;\n }\n interface IRecursiveReference extends __IAttribute {\n $recursiveRef: string;\n }\n interface IAllOf extends __IAttribute {\n allOf: IJsonSchema[];\n }\n interface IAnyOf extends __IAttribute {\n anyOf: IJsonSchema[];\n }\n interface IOneOf extends __IAttribute {\n oneOf: IJsonSchema[];\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n interface IDiscriminator {\n propertyName: string;\n mapping?: Record<string, string>;\n }\n }\n interface INull extends Omit<IJsonSchemaAttribute.INull, \"examples\">, __IAttribute {\n default?: null;\n }\n interface IUnknown extends Omit<IJsonSchemaAttribute.IUnknown, \"examples\">, __IAttribute {\n type?: undefined;\n default?: any;\n }\n interface __IAttribute extends Omit<IJsonSchemaAttribute, \"examples\"> {\n examples?: any[] | Record<string, any>;\n }\n }\n type ISecurityScheme = ISecurityScheme.IApiKey | ISecurityScheme.IHttpBasic | ISecurityScheme.IHttpBearer | ISecurityScheme.IOAuth2 | ISecurityScheme.IOpenId;\n namespace ISecurityScheme {\n interface IApiKey {\n type: \"apiKey\";\n in?: \"header\" | \"query\" | \"cookie\";\n name?: string;\n description?: string;\n }\n interface IHttpBasic {\n type: \"http\";\n scheme: \"basic\";\n description?: string;\n }\n interface IHttpBearer {\n type: \"http\";\n scheme: \"bearer\";\n bearerFormat?: string;\n description?: string;\n }\n interface IOAuth2 {\n type: \"oauth2\";\n flows: IOAuth2.IFlowSet;\n description?: string;\n }\n interface IOpenId {\n type: \"openIdConnect\";\n openIdConnectUrl: string;\n description?: string;\n }\n namespace IOAuth2 {\n interface IFlowSet {\n authorizationCode?: IFlow;\n implicit?: Omit<IFlow, \"tokenUrl\">;\n password?: Omit<IFlow, \"authorizationUrl\">;\n clientCredentials?: Omit<IFlow, \"authorizationUrl\">;\n }\n interface IFlow {\n authorizationUrl?: string;\n tokenUrl?: string;\n refreshUrl?: string;\n scopes?: Record<string, string>;\n }\n }\n }\n}\n",
33
33
  "node_modules/@samchon/openapi/lib/SwaggerV2.d.ts": "import { IJsonSchemaAttribute } from \"./structures/IJsonSchemaAttribute\";\n/**\n * Swagger v2.0 definition.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace SwaggerV2 {\n type Method = \"get\" | \"post\" | \"put\" | \"delete\" | \"options\" | \"head\" | \"patch\" | \"trace\";\n interface IDocument {\n swagger: \"2.0\" | `2.0.${number}`;\n info?: IDocument.IInfo;\n host?: string;\n basePath?: string;\n consumes?: string[];\n produces?: string[];\n definitions?: Record<string, IJsonSchema>;\n parameters?: Record<string, IOperation.IParameter>;\n responses?: Record<string, IOperation.IResponse>;\n securityDefinitions?: Record<string, ISecurityDefinition>;\n security?: Record<string, string[]>[];\n paths?: Record<string, IPath>;\n tags?: IDocument.ITag[];\n }\n namespace IDocument {\n interface IInfo {\n title: string;\n description?: string;\n termsOfService?: string;\n contact?: IContact;\n license?: ILicense;\n version: string;\n }\n interface IContact {\n name?: string;\n url?: string;\n email?: string;\n }\n interface ILicense {\n name: string;\n url?: string;\n }\n interface ITag {\n name: string;\n description?: string;\n }\n }\n interface IPath extends Partial<Record<Method, IOperation | undefined>> {\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/parameters/${string}`>>;\n }\n interface IOperation {\n operationId?: string;\n parameters?: Array<IOperation.IParameter | IJsonSchema.IReference<`#/definitions/parameters/${string}`>>;\n responses?: Record<string, IOperation.IResponse | IJsonSchema.IReference<`#/definitions/responses/${string}`>>;\n summary?: string;\n description?: string;\n security?: Record<string, string[]>[];\n tags?: string[];\n deprecated?: boolean;\n }\n namespace IOperation {\n type IParameter = IGeneralParameter | IBodyParameter;\n type IGeneralParameter = IJsonSchema & {\n name: string;\n in: string;\n description?: string;\n };\n interface IBodyParameter {\n schema: IJsonSchema;\n name: string;\n in: string;\n description?: string;\n required?: boolean;\n }\n interface IResponse {\n description?: string;\n headers?: Record<string, IJsonSchema>;\n schema?: IJsonSchema;\n example?: any;\n }\n }\n type IJsonSchema = IJsonSchema.IBoolean | IJsonSchema.IInteger | IJsonSchema.INumber | IJsonSchema.IString | IJsonSchema.IArray | IJsonSchema.IObject | IJsonSchema.IReference | IJsonSchema.IAnyOf | IJsonSchema.IOneOf | IJsonSchema.INullOnly | IJsonSchema.IUnknown;\n namespace IJsonSchema {\n interface IBoolean extends Omit<IJsonSchemaAttribute.IBoolean, \"examples\">, __ISignificant<\"boolean\"> {\n default?: boolean | null;\n enum?: Array<boolean | null>;\n }\n interface IInteger extends Omit<IJsonSchemaAttribute.IInteger, \"examples\">, __ISignificant<\"integer\"> {\n /** @type int64 */ default?: number | null;\n /** @type int64 */ enum?: Array<number | null>;\n /** @type int64 */ minimum?: number;\n /** @type int64 */ maximum?: number;\n exclusiveMinimum?: number | boolean;\n exclusiveMaximum?: number | boolean;\n /**\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n interface INumber extends Omit<IJsonSchemaAttribute.INumber, \"examples\">, __ISignificant<\"number\"> {\n default?: number | null;\n enum?: Array<number | null>;\n minimum?: number;\n maximum?: number;\n exclusiveMinimum?: number | boolean;\n exclusiveMaximum?: number | boolean;\n /** @exclusiveMinimum 0 */ multipleOf?: number;\n }\n interface IString extends Omit<IJsonSchemaAttribute.IString, \"examples\">, __ISignificant<\"string\"> {\n default?: string | null;\n enum?: Array<string | null>;\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n pattern?: string;\n /** @type uint64 */ minLength?: number;\n /** @type uint64 */ maxLength?: number;\n }\n interface IArray extends Omit<IJsonSchemaAttribute.IArray, \"examples\">, __ISignificant<\"array\"> {\n items: IJsonSchema;\n uniqueItems?: boolean;\n /** @type uint64 */ minItems?: number;\n /** @type uint64 */ maxItems?: number;\n }\n interface IObject extends Omit<IJsonSchemaAttribute.IObject, \"examples\">, __ISignificant<\"object\"> {\n properties?: Record<string, IJsonSchema>;\n required?: string[];\n additionalProperties?: boolean | IJsonSchema;\n maxProperties?: number;\n minProperties?: number;\n }\n interface IReference<Key = string> extends __IAttribute {\n $ref: Key;\n }\n interface IAllOf extends __IAttribute {\n allOf: IJsonSchema[];\n }\n interface IAnyOf extends __IAttribute {\n \"x-anyOf\": IJsonSchema[];\n }\n interface IOneOf extends __IAttribute {\n \"x-oneOf\": IJsonSchema[];\n }\n interface INullOnly extends __IAttribute {\n type: \"null\";\n default?: null;\n }\n interface IUnknown extends __IAttribute {\n type?: undefined;\n }\n interface __ISignificant<Type extends string> extends __IAttribute {\n type: Type;\n \"x-nullable\"?: boolean;\n }\n interface __IAttribute extends Omit<IJsonSchemaAttribute, \"examples\"> {\n examples?: any[];\n }\n }\n type ISecurityDefinition = ISecurityDefinition.IApiKey | ISecurityDefinition.IBasic | ISecurityDefinition.IOauth2Implicit | ISecurityDefinition.IOauth2AccessCode | ISecurityDefinition.IOauth2Password | ISecurityDefinition.IOauth2Application;\n namespace ISecurityDefinition {\n interface IApiKey {\n type: \"apiKey\";\n in?: \"header\" | \"query\" | \"cookie\";\n name?: string;\n description?: string;\n }\n interface IBasic {\n type: \"basic\";\n name?: string;\n description?: string;\n }\n interface IOauth2Implicit {\n type: \"oauth2\";\n flow: \"implicit\";\n authorizationUrl?: string;\n scopes?: Record<string, string>;\n description?: string;\n }\n interface IOauth2AccessCode {\n type: \"oauth2\";\n flow: \"accessCode\";\n authorizationUrl?: string;\n tokenUrl?: string;\n scopes?: Record<string, string>;\n description?: string;\n }\n interface IOauth2Password {\n type: \"oauth2\";\n flow: \"password\";\n tokenUrl?: string;\n scopes?: Record<string, string>;\n description?: string;\n }\n interface IOauth2Application {\n type: \"oauth2\";\n flow: \"application\";\n tokenUrl?: string;\n scopes?: Record<string, string>;\n description?: string;\n }\n }\n}\n",
34
34
  "node_modules/@samchon/openapi/lib/composers/HttpLlmApplicationComposer.d.ts": "import { IHttpLlmApplication } from \"../structures/IHttpLlmApplication\";\nimport { IHttpMigrateApplication } from \"../structures/IHttpMigrateApplication\";\nimport { ILlmSchema } from \"../structures/ILlmSchema\";\nexport declare namespace HttpLlmComposer {\n const application: <Model extends ILlmSchema.Model>(props: {\n model: Model;\n migrate: IHttpMigrateApplication;\n options: IHttpLlmApplication.IOptions<Model>;\n }) => IHttpLlmApplication<Model>;\n const shorten: <Model extends ILlmSchema.Model>(app: IHttpLlmApplication<Model>, limit?: number) => void;\n}\n",
35
- "node_modules/@samchon/openapi/lib/composers/LlmSchemaComposer.d.ts": "import { ILlmSchema } from \"../structures/ILlmSchema\";\nimport { ChatGptTypeChecker } from \"../utils/ChatGptTypeChecker\";\nimport { GeminiTypeChecker } from \"../utils/GeminiTypeChecker\";\nimport { LlmTypeCheckerV3 } from \"../utils/LlmTypeCheckerV3\";\nimport { LlmTypeCheckerV3_1 } from \"../utils/LlmTypeCheckerV3_1\";\nexport declare namespace LlmSchemaComposer {\n const parameters: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n config: import(\"..\").IChatGptSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IChatGptSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n claude: (props: {\n config: import(\"..\").IClaudeSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IClaudeSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n deepseek: (props: {\n config: import(\"..\").IDeepSeekSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IDeepSeekSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n gemini: (props: {\n config: import(\"..\").IGeminiSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IGeminiSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n llama: (props: {\n config: import(\"..\").ILlamaSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n }) => import(\"..\").IResult<import(\"..\").ILlamaSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n \"3.0\": (props: {\n config: import(\"..\").ILlmSchemaV3.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n validate?: (schema: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3.IParameters, import(\"..\").IOpenApiSchemaError>;\n \"3.1\": (props: {\n config: import(\"..\").ILlmSchemaV3_1.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n errors?: string[];\n validate?: (input: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3_1.IParameters, import(\"..\").IOpenApiSchemaError>;\n }[Model];\n const schema: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n config: import(\"..\").IChatGptSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").IChatGptSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IChatGptSchema, import(\"..\").IOpenApiSchemaError>;\n claude: (props: {\n config: import(\"..\").IClaudeSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").IClaudeSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IClaudeSchema, import(\"..\").IOpenApiSchemaError>;\n deepseek: (props: {\n config: import(\"..\").IDeepSeekSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").IDeepSeekSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IDeepSeekSchema, import(\"..\").IOpenApiSchemaError>;\n gemini: (props: {\n config: import(\"..\").IGeminiSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IGeminiSchema, import(\"..\").IOpenApiSchemaError>;\n llama: (props: {\n config: import(\"..\").ILlamaSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").ILlamaSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n }) => import(\"..\").IResult<import(\"..\").ILlamaSchema, import(\"..\").IOpenApiSchemaError>;\n \"3.0\": (props: {\n config: import(\"..\").ILlmSchemaV3.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema;\n validate?: (schema: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3, import(\"..\").IOpenApiSchemaError>;\n \"3.1\": (props: {\n config: import(\"..\").ILlmSchemaV3_1.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").ILlmSchemaV3_1>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n validate?: (input: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3_1, import(\"..\").IOpenApiSchemaError>;\n }[Model];\n const defaultConfig: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: import(\"..\").IChatGptSchema.IConfig;\n claude: import(\"..\").IClaudeSchema.IConfig;\n deepseek: import(\"..\").IDeepSeekSchema.IConfig;\n gemini: import(\"..\").IGeminiSchema.IConfig;\n llama: import(\"..\").ILlamaSchema.IConfig;\n \"3.0\": import(\"..\").ILlmSchemaV3.IConfig;\n \"3.1\": import(\"..\").ILlmSchemaV3_1.IConfig;\n }[Model];\n const typeChecker: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: typeof ChatGptTypeChecker;\n claude: typeof LlmTypeCheckerV3_1;\n deepseek: typeof LlmTypeCheckerV3_1;\n gemini: typeof GeminiTypeChecker;\n llama: typeof LlmTypeCheckerV3_1;\n \"3.0\": typeof LlmTypeCheckerV3;\n \"3.1\": typeof LlmTypeCheckerV3_1;\n }[Model];\n const separateParameters: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n parameters: import(\"..\").IChatGptSchema.IParameters;\n predicate: (schema: import(\"..\").IChatGptSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"chatgpt\">;\n claude: (props: {\n parameters: import(\"..\").IClaudeSchema.IParameters;\n predicate: (schema: import(\"..\").IClaudeSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"claude\">;\n deepseek: (props: {\n parameters: import(\"..\").IDeepSeekSchema.IParameters;\n predicate: (schema: import(\"..\").IDeepSeekSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals? /** @internal */: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"deepseek\">;\n gemini: (props: {\n predicate: (schema: import(\"..\").IGeminiSchema) => boolean;\n parameters: import(\"..\").IGeminiSchema.IParameters;\n equals?: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"gemini\">;\n llama: (props: {\n parameters: import(\"..\").ILlamaSchema.IParameters;\n predicate: (schema: import(\"..\").ILlamaSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"llama\">;\n \"3.0\": (props: {\n predicate: (schema: import(\"..\").ILlmSchemaV3) => boolean;\n parameters: import(\"..\").ILlmSchemaV3.IParameters;\n equals?: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"3.0\">;\n \"3.1\": (props: {\n parameters: import(\"..\").ILlmSchemaV3_1.IParameters;\n predicate: (schema: import(\"..\").ILlmSchemaV3_1) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"3.1\">;\n }[Model];\n const invert: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").IChatGptSchema;\n $defs: Record<string, import(\"..\").IChatGptSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n claude: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").IClaudeSchema;\n $defs: Record<string, import(\"..\").IClaudeSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n deepseek: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").IDeepSeekSchema;\n $defs: Record<string, import(\"..\").IDeepSeekSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n gemini: (props: {\n schema: import(\"..\").IGeminiSchema;\n }) => import(\"..\").OpenApi.IJsonSchema;\n llama: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").ILlamaSchema;\n $defs: Record<string, import(\"..\").ILlamaSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n \"3.0\": (props: {\n schema: import(\"..\").ILlmSchemaV3;\n }) => import(\"..\").OpenApi.IJsonSchema;\n \"3.1\": (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").ILlmSchemaV3_1;\n $defs: Record<string, import(\"..\").ILlmSchemaV3_1>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n }[Model];\n}\n",
35
+ "node_modules/@samchon/openapi/lib/composers/LlmSchemaComposer.d.ts": "import { ILlmSchema } from \"../structures/ILlmSchema\";\nimport { ChatGptTypeChecker } from \"../utils/ChatGptTypeChecker\";\nimport { GeminiTypeChecker } from \"../utils/GeminiTypeChecker\";\nimport { LlmTypeCheckerV3 } from \"../utils/LlmTypeCheckerV3\";\nimport { LlmTypeCheckerV3_1 } from \"../utils/LlmTypeCheckerV3_1\";\nexport declare namespace LlmSchemaComposer {\n const parameters: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n config: import(\"..\").IChatGptSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IChatGptSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n claude: (props: {\n config: import(\"..\").IClaudeSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IClaudeSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n gemini: (props: {\n config: import(\"..\").IGeminiSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IGeminiSchema.IParameters, import(\"..\").IOpenApiSchemaError>;\n \"3.0\": (props: {\n config: import(\"..\").ILlmSchemaV3.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n validate?: (schema: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3.IParameters, import(\"..\").IOpenApiSchemaError>;\n \"3.1\": (props: {\n config: import(\"..\").ILlmSchemaV3_1.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema.IObject | import(\"..\").OpenApi.IJsonSchema.IReference;\n errors?: string[];\n validate?: (input: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3_1.IParameters, import(\"..\").IOpenApiSchemaError>;\n }[Model];\n const schema: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n config: import(\"..\").IChatGptSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").IChatGptSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IChatGptSchema, import(\"..\").IOpenApiSchemaError>;\n claude: (props: {\n config: import(\"..\").IClaudeSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").IClaudeSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IClaudeSchema, import(\"..\").IOpenApiSchemaError>;\n gemini: (props: {\n config: import(\"..\").IGeminiSchema.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").IGeminiSchema>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").IGeminiSchema, import(\"..\").IOpenApiSchemaError>;\n \"3.0\": (props: {\n config: import(\"..\").ILlmSchemaV3.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").OpenApi.IJsonSchema;\n validate?: (schema: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3, import(\"..\").IOpenApiSchemaError>;\n \"3.1\": (props: {\n config: import(\"..\").ILlmSchemaV3_1.IConfig;\n components: import(\"..\").OpenApi.IComponents;\n $defs: Record<string, import(\"..\").ILlmSchemaV3_1>;\n schema: import(\"..\").OpenApi.IJsonSchema;\n validate?: (input: import(\"..\").OpenApi.IJsonSchema, accessor: string) => import(\"..\").IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => import(\"..\").IResult<import(\"..\").ILlmSchemaV3_1, import(\"..\").IOpenApiSchemaError>;\n }[Model];\n const defaultConfig: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: import(\"..\").IChatGptSchema.IConfig;\n claude: import(\"..\").IClaudeSchema.IConfig;\n gemini: import(\"..\").IGeminiSchema.IConfig;\n \"3.0\": import(\"..\").ILlmSchemaV3.IConfig;\n \"3.1\": import(\"..\").ILlmSchemaV3_1.IConfig;\n }[Model];\n const typeChecker: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: typeof ChatGptTypeChecker;\n claude: typeof LlmTypeCheckerV3_1;\n deepseek: typeof LlmTypeCheckerV3_1;\n gemini: typeof GeminiTypeChecker;\n llama: typeof LlmTypeCheckerV3_1;\n \"3.0\": typeof LlmTypeCheckerV3;\n \"3.1\": typeof LlmTypeCheckerV3_1;\n }[Model];\n const separateParameters: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n parameters: import(\"..\").IChatGptSchema.IParameters;\n predicate: (schema: import(\"..\").IChatGptSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"chatgpt\">;\n claude: (props: {\n parameters: import(\"..\").IClaudeSchema.IParameters;\n predicate: (schema: import(\"..\").IClaudeSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"claude\">;\n gemini: (props: {\n parameters: import(\"..\").IGeminiSchema.IParameters;\n predicate: (schema: import(\"..\").IGeminiSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"chatgpt\">;\n \"3.0\": (props: {\n predicate: (schema: import(\"..\").ILlmSchemaV3) => boolean;\n parameters: import(\"..\").ILlmSchemaV3.IParameters;\n equals?: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"3.0\">;\n \"3.1\": (props: {\n parameters: import(\"..\").ILlmSchemaV3_1.IParameters;\n predicate: (schema: import(\"..\").ILlmSchemaV3_1) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => import(\"..\").ILlmFunction.ISeparated<\"3.1\">;\n }[Model];\n const invert: <Model extends ILlmSchema.Model>(model: Model) => {\n chatgpt: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").IChatGptSchema;\n $defs: Record<string, import(\"..\").IChatGptSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n claude: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").IClaudeSchema;\n $defs: Record<string, import(\"..\").IClaudeSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n gemini: (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").IGeminiSchema;\n $defs: Record<string, import(\"..\").IGeminiSchema>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n \"3.0\": (props: {\n schema: import(\"..\").ILlmSchemaV3;\n }) => import(\"..\").OpenApi.IJsonSchema;\n \"3.1\": (props: {\n components: import(\"..\").OpenApi.IComponents;\n schema: import(\"..\").ILlmSchemaV3_1;\n $defs: Record<string, import(\"..\").ILlmSchemaV3_1>;\n }) => import(\"..\").OpenApi.IJsonSchema;\n }[Model];\n}\n",
36
36
  "node_modules/@samchon/openapi/lib/composers/llm/ChatGptSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IChatGptSchema } from \"../../structures/IChatGptSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace ChatGptSchemaComposer {\n const DEFAULT_CONFIG: IChatGptSchema.IConfig;\n const parameters: (props: {\n config: IChatGptSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IChatGptSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IChatGptSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, IChatGptSchema>;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IChatGptSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: IChatGptSchema.IParameters;\n predicate: (schema: IChatGptSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => ILlmFunction.ISeparated<\"chatgpt\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: IChatGptSchema;\n $defs: Record<string, IChatGptSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
37
37
  "node_modules/@samchon/openapi/lib/composers/llm/ClaudeSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IClaudeSchema } from \"../../structures/IClaudeSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace ClaudeSchemaComposer {\n const DEFAULT_CONFIG: IClaudeSchema.IConfig;\n const parameters: (props: {\n config: IClaudeSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IClaudeSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IClaudeSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, IClaudeSchema>;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IClaudeSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: IClaudeSchema.IParameters;\n predicate: (schema: IClaudeSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => ILlmFunction.ISeparated<\"claude\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: IClaudeSchema;\n $defs: Record<string, IClaudeSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
38
- "node_modules/@samchon/openapi/lib/composers/llm/DeepSeekSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IDeepSeekSchema } from \"../../structures/IDeepSeekSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace DeepSeekSchemaComposer {\n const DEFAULT_CONFIG: IDeepSeekSchema.IConfig;\n const parameters: (props: {\n config: IDeepSeekSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IDeepSeekSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IDeepSeekSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, IDeepSeekSchema>;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IDeepSeekSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: IDeepSeekSchema.IParameters;\n predicate: (schema: IDeepSeekSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => ILlmFunction.ISeparated<\"deepseek\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: IDeepSeekSchema;\n $defs: Record<string, IDeepSeekSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
39
- "node_modules/@samchon/openapi/lib/composers/llm/GeminiSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IGeminiSchema } from \"../../structures/IGeminiSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace GeminiSchemaComposer {\n const DEFAULT_CONFIG: IGeminiSchema.IConfig;\n const parameters: (props: {\n config: IGeminiSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IGeminiSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IGeminiSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IGeminiSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n predicate: (schema: IGeminiSchema) => boolean;\n parameters: IGeminiSchema.IParameters;\n equals?: boolean;\n }) => ILlmFunction.ISeparated<\"gemini\">;\n const invert: (props: {\n schema: IGeminiSchema;\n }) => OpenApi.IJsonSchema;\n}\n",
40
- "node_modules/@samchon/openapi/lib/composers/llm/LlamaSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { ILlamaSchema } from \"../../structures/ILlamaSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace LlamaSchemaComposer {\n const DEFAULT_CONFIG: ILlamaSchema.IConfig;\n const parameters: (props: {\n config: ILlamaSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n }) => IResult<ILlamaSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: ILlamaSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, ILlamaSchema>;\n schema: OpenApi.IJsonSchema;\n }) => IResult<ILlamaSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: ILlamaSchema.IParameters;\n predicate: (schema: ILlamaSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => ILlmFunction.ISeparated<\"llama\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: ILlamaSchema;\n $defs: Record<string, ILlamaSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
38
+ "node_modules/@samchon/openapi/lib/composers/llm/GeminiSchemaComposer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IGeminiSchema } from \"../../structures/IGeminiSchema\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace GeminiSchemaComposer {\n const DEFAULT_CONFIG: IGeminiSchema.IConfig;\n const parameters: (props: {\n config: IGeminiSchema.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IGeminiSchema.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: IGeminiSchema.IConfig;\n components: OpenApi.IComponents;\n $defs: Record<string, IGeminiSchema>;\n schema: OpenApi.IJsonSchema;\n accessor?: string;\n refAccessor?: string;\n }) => IResult<IGeminiSchema, IOpenApiSchemaError>;\n const separateParameters: (props: {\n parameters: IGeminiSchema.IParameters;\n predicate: (schema: IGeminiSchema) => boolean;\n convention?: (key: string, type: \"llm\" | \"human\") => string;\n equals?: boolean;\n }) => ILlmFunction.ISeparated<\"chatgpt\">;\n const invert: (props: {\n components: OpenApi.IComponents;\n schema: IGeminiSchema;\n $defs: Record<string, IGeminiSchema>;\n }) => OpenApi.IJsonSchema;\n}\n",
41
39
  "node_modules/@samchon/openapi/lib/composers/llm/LlmDescriptionInverter.d.ts": "import { OpenApi } from \"../../OpenApi\";\nexport declare namespace LlmDescriptionInverter {\n const numeric: (description: string | undefined) => Pick<OpenApi.IJsonSchema.INumber, \"minimum\" | \"maximum\" | \"exclusiveMinimum\" | \"exclusiveMaximum\" | \"multipleOf\" | \"description\">;\n const string: (description: string | undefined) => Pick<OpenApi.IJsonSchema.IString, \"format\" | \"pattern\" | \"contentMediaType\" | \"minLength\" | \"maxLength\" | \"description\">;\n const array: (description: string | undefined) => Pick<OpenApi.IJsonSchema.IArray, \"minItems\" | \"maxItems\" | \"uniqueItems\" | \"description\">;\n}\n",
42
40
  "node_modules/@samchon/openapi/lib/composers/llm/LlmParametersComposer.d.ts": "export {};\n",
43
41
  "node_modules/@samchon/openapi/lib/composers/llm/LlmSchemaV3Composer.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { ILlmFunction } from \"../../structures/ILlmFunction\";\nimport { ILlmSchemaV3 } from \"../../structures/ILlmSchemaV3\";\nimport { IOpenApiSchemaError } from \"../../structures/IOpenApiSchemaError\";\nimport { IResult } from \"../../structures/IResult\";\nexport declare namespace LlmSchemaV3Composer {\n const DEFAULT_CONFIG: ILlmSchemaV3.IConfig;\n const parameters: (props: {\n config: ILlmSchemaV3.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema.IObject | OpenApi.IJsonSchema.IReference;\n /** @internal */\n validate?: (schema: OpenApi.IJsonSchema, accessor: string) => IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => IResult<ILlmSchemaV3.IParameters, IOpenApiSchemaError>;\n const schema: (props: {\n config: ILlmSchemaV3.IConfig;\n components: OpenApi.IComponents;\n schema: OpenApi.IJsonSchema;\n /** @internal */\n validate?: (schema: OpenApi.IJsonSchema, accessor: string) => IOpenApiSchemaError.IReason[];\n accessor?: string;\n refAccessor?: string;\n }) => IResult<ILlmSchemaV3, IOpenApiSchemaError>;\n const separateParameters: (props: {\n predicate: (schema: ILlmSchemaV3) => boolean;\n parameters: ILlmSchemaV3.IParameters;\n equals?: boolean;\n }) => ILlmFunction.ISeparated<\"3.0\">;\n const invert: (props: {\n schema: ILlmSchemaV3;\n }) => OpenApi.IJsonSchema;\n}\n",
@@ -77,11 +75,10 @@
77
75
  "node_modules/@samchon/openapi/lib/http/HttpError.d.ts": "/**\n * Specialized error class for HTTP request failures\n *\n * `HttpError` is a custom error class that is thrown when an HTTP request fails\n * and receives an error response from a remote server. Unlike the standard\n * Error class, it carries detailed HTTP-specific information (method, path,\n * status code, headers) that enables more sophisticated error handling and\n * debugging in HTTP communication scenarios.\n *\n * This class is particularly useful for:\n *\n * - API client libraries that need to provide detailed error information\n * - Applications that require different handling based on HTTP status codes\n * - Logging and monitoring systems that need structured error data\n * - Debugging HTTP communication issues\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare class HttpError extends Error {\n /** The HTTP method that was used for the failed request */\n readonly method: \"GET\" | \"DELETE\" | \"POST\" | \"PUT\" | \"PATCH\" | \"HEAD\";\n /** The path or URL that was requested */\n readonly path: string;\n /** The HTTP status code returned by the server */\n readonly status: number;\n /** The HTTP response headers returned by the server as key-value pairs */\n readonly headers: Record<string, string | string[]>;\n /**\n * Creates a new HttpError instance\n *\n * Initializes an HttpError with comprehensive information about the failed\n * HTTP request. This constructor calls the parent Error constructor to set\n * the basic error message, and additionally stores HTTP-specific details as\n * readonly properties for later access.\n *\n * @example\n * ```typescript\n * const error = new HttpError(\n * 'POST',\n * '/api/login',\n * 401,\n * { 'content-type': 'application/json', 'www-authenticate': 'Bearer' },\n * '{\"error\": \"Invalid credentials\", \"code\": \"AUTH_FAILED\"}'\n * );\n * console.log(error.status); // 401\n * console.log(error.method); // \"POST\"\n * ```;\n *\n * @param method The HTTP method that was used for the request (GET, POST,\n * PUT, DELETE, PATCH, HEAD)\n * @param path The path or URL that was requested (e.g., '/api/users' or\n * 'https://api.example.com/users')\n * @param status The HTTP status code returned by the server (e.g., 404, 500,\n * 401)\n * @param headers The HTTP response headers returned by the server as\n * key-value pairs\n * @param message The error message from the server (typically the response\n * body text)\n */\n constructor(method: \"GET\" | \"DELETE\" | \"POST\" | \"PUT\" | \"PATCH\" | \"HEAD\", path: string, status: number, headers: Record<string, string | string[]>, message: string);\n /**\n * Serializes the HttpError instance to a JSON-compatible object\n *\n * This method serves two primary purposes:\n *\n * 1. **Automatic serialization**: When `JSON.stringify()` is called on an\n * HttpError, this method is automatically invoked to provide a clean JSON\n * representation\n * 2. **Structured error data**: When the server response body contains JSON,\n * this method parses it and provides structured access to error details\n *\n * The method implements lazy parsing for the response message:\n *\n * - JSON parsing is attempted only on the first call to avoid unnecessary\n * processing\n * - Successful parsing results are cached for subsequent calls\n * - If JSON parsing fails (e.g., for HTML error pages or plain text), the\n * original string is preserved and returned as-is\n *\n * @template T The expected type of the response body (defaults to any for\n * flexibility)\n * @returns A structured object containing all HTTP error information with the\n * message field containing either the parsed JSON object or the original\n * string\n */\n toJSON<T>(): HttpError.IProps<T>;\n}\nexport declare namespace HttpError {\n /**\n * Return type definition for the {@link HttpError.toJSON} method\n *\n * This interface provides a structured representation of all HTTP error\n * information in a format suitable for serialization, logging, debugging, and\n * API responses. It ensures consistency across different parts of an\n * application when handling HTTP errors.\n *\n * The generic type parameter `T` allows for type-safe access to the parsed\n * response body when the structure is known at compile time.\n *\n * @example\n * ```typescript\n * // Using with known error response structure\n * interface ApiErrorResponse {\n * code: string;\n * message: string;\n * details?: Record<string, any>;\n * }\n *\n * const errorProps: HttpError.IProps<ApiErrorResponse> = httpError.toJSON<ApiErrorResponse>();\n * console.log(errorProps.message.code); // Type-safe access to error code\n * ```;\n *\n * @template T The type of the message field (parsed response body)\n */\n interface IProps<T> {\n /** The HTTP method used for the request */\n method: \"GET\" | \"DELETE\" | \"POST\" | \"PUT\" | \"PATCH\" | \"HEAD\";\n /** The path or URL that was requested */\n path: string;\n /** The HTTP status code returned by the server */\n status: number;\n /**\n * The response headers as key-value pairs (values can be string or string\n * array)\n */\n headers: Record<string, string | string[]>;\n /** The response body (either parsed JSON object or original string) */\n message: T;\n }\n}\n",
78
76
  "node_modules/@samchon/openapi/lib/http/HttpLlmFunctionFetcher.d.ts": "import type { HttpLlm } from \"../HttpLlm\";\nimport { IHttpResponse } from \"../structures/IHttpResponse\";\nimport { ILlmSchema } from \"../structures/ILlmSchema\";\nexport declare namespace HttpLlmFunctionFetcher {\n const execute: <Model extends ILlmSchema.Model>(props: HttpLlm.IFetchProps<Model>) => Promise<unknown>;\n const propagate: <Model extends ILlmSchema.Model>(props: HttpLlm.IFetchProps<Model>) => Promise<IHttpResponse>;\n}\n",
79
77
  "node_modules/@samchon/openapi/lib/http/HttpMigrateRouteFetcher.d.ts": "import type { HttpMigration } from \"../HttpMigration\";\nimport { IHttpResponse } from \"../structures/IHttpResponse\";\nexport declare namespace HttpMigrateRouteFetcher {\n const execute: (props: HttpMigration.IFetchProps) => Promise<unknown>;\n const propagate: (props: HttpMigration.IFetchProps) => Promise<IHttpResponse>;\n}\n",
80
- "node_modules/@samchon/openapi/lib/index.d.ts": "export * from \"./OpenApi\";\nexport * from \"./SwaggerV2\";\nexport * from \"./OpenApiV3\";\nexport * from \"./OpenApiV3_1\";\nexport * from \"./structures/IJsonSchemaAttribute\";\nexport * from \"./utils/OpenApiTypeChecker\";\nexport * from \"./structures/IHttpMigrateApplication\";\nexport * from \"./structures/IHttpMigrateRoute\";\nexport * from \"./structures/IHttpConnection\";\nexport * from \"./structures/IHttpResponse\";\nexport * from \"./http/HttpError\";\nexport * from \"./HttpMigration\";\nexport * from \"./structures/IOpenApiSchemaError\";\nexport * from \"./structures/IResult\";\nexport * from \"./structures/IValidation\";\nexport * from \"./structures/IHttpLlmController\";\nexport * from \"./structures/ILlmController\";\nexport * from \"./structures/IMcpLlmController\";\nexport * from \"./structures/IHttpLlmApplication\";\nexport * from \"./structures/IHttpLlmFunction\";\nexport * from \"./structures/ILlmApplication\";\nexport * from \"./structures/ILlmFunction\";\nexport * from \"./structures/IChatGptSchema\";\nexport * from \"./structures/IClaudeSchema\";\nexport * from \"./structures/IDeepSeekSchema\";\nexport * from \"./structures/IGeminiSchema\";\nexport * from \"./structures/ILlamaSchema\";\nexport * from \"./structures/ILlmSchema\";\nexport * from \"./structures/ILlmSchemaV3\";\nexport * from \"./structures/ILlmSchemaV3_1\";\nexport * from \"./utils/ChatGptTypeChecker\";\nexport * from \"./utils/ClaudeTypeChecker\";\nexport * from \"./utils/DeepSeekTypeChecker\";\nexport * from \"./utils/GeminiTypeChecker\";\nexport * from \"./utils/LlamaTypeChecker\";\nexport * from \"./utils/LlmTypeCheckerV3\";\nexport * from \"./utils/LlmTypeCheckerV3_1\";\nexport * from \"./HttpLlm\";\nexport * from \"./McpLlm\";\nexport * from \"./structures/IMcpLlmApplication\";\nexport * from \"./structures/IMcpLlmFunction\";\nexport * from \"./structures/IMcpTool\";\n",
81
- "node_modules/@samchon/openapi/lib/structures/IChatGptSchema.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema info of the ChatGPT.\n *\n * `IChatGptSchema` is a type schema info of the ChatGPT function calling.\n *\n * `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI\n * v3.1 specification; {@link OpenApiV3_1.IJsonSchema}.\n *\n * However, the `IChatGptSchema` does not follow the entire specification of the\n * OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `IChatGptSchema` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnyOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link IChatGptSchema.IReference}\n * - When {@link IChatGptSchema.IConfig.strict} mode:\n * - Every object properties must be required\n * - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n *\n * Compared to {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification:\n *\n * - {@link IChatGptSchema.IAnyOf} instead of {@link OpenApi.IJsonSchema.IOneOf}\n * - {@link IChatGptSchema.IParameters.$defs} instead of\n * {@link OpenApi.IJsonSchema.IComponents.schemas}\n * - {@link IChatGptSchema.IString.enum} instead of\n * {@link OpenApi.IJsonSchema.IConstant}\n * - {@link IChatGptSchema.additionalProperties} is fixed to `false`\n * - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n * - When {@link IChatGptSchema.IConfig.strict} mode:\n * - Every object properties must be required\n * - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n *\n * For reference, if you compose the `IChatGptSchema` type with the\n * {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n * only recursively named types are archived into the\n * {@link IChatGptSchema.IParameters.$defs}, and others are escaped from\n * the {@link IChatGptSchema.IReference} type.\n *\n * Also, OpenAI has banned the following constraint properties. Instead,\n * `IChatGptSchema` fills the {@link IChatGptSchema.__IAttribute.description}\n * property with comment text like `\"@format uuid\"`.\n *\n * - {@link OpenApi.IJsonSchema.INumber.minimum}\n * - {@link OpenApi.IJsonSchema.INumber.maximum}\n * - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n * - {@link OpenApi.IJsonSchema.IString.minLength}\n * - {@link OpenApi.IJsonSchema.IString.maxLength}\n * - {@link OpenApi.IJsonSchema.IString.format}\n * - {@link OpenApi.IJsonSchema.IString.pattern}\n * - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n * - {@link OpenApi.IJsonSchema.IString.default}\n * - {@link OpenApi.IJsonSchema.IArray.minItems}\n * - {@link OpenApi.IJsonSchema.IArray.maxItems}\n * - {@link OpenApi.IJsonSchema.IArray.unique}\n *\n * Additionally, OpenAI cannot define the `description` property for the\n * {@link IChatGptSchema.IReference} type, and does not understand\n * encapsulation of the {@link IChatGptSchema.IAnyOf} type. Therefore, the\n * `description` is written to the parent object type, not the reference type.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"description\": \"### Description of {@link something} property.\\n\\n> Hello?\",\n * \"properties\": {\n * \"something\": {\n * \"$ref\": \"#/$defs/SomeObject\"\n * }\n * }\n * }\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n * @warning Specified not only by official documentation, but also by\n * experimental validation. Therefore, definitions may be inaccurate or\n * change in the future. If you find wrong or outdated definitions,\n * please report via issue.\n * @issue https://github.com/samchon/openapi/issues\n */\nexport type IChatGptSchema = IChatGptSchema.IBoolean | IChatGptSchema.IInteger | IChatGptSchema.INumber | IChatGptSchema.IString | IChatGptSchema.IArray | IChatGptSchema.IObject | IChatGptSchema.IReference | IChatGptSchema.IAnyOf | IChatGptSchema.INull | IChatGptSchema.IUnknown;\nexport declare namespace IChatGptSchema {\n /**\n * Type for function parameters.\n *\n * `IChatGptSchema.IParameters` defines a function's parameters as\n * a keyword object type, where each property represents a named parameter.\n *\n * It can also be used for structured output metadata to define the\n * expected format of ChatGPT responses.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /** Collection of the named types. */\n $defs: Record<string, IChatGptSchema>;\n /**\n * Additional properties information.\n *\n * The `additionalProperties` defines the type schema for additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed at the parameters level.\n */\n additionalProperties: false;\n }\n /** Boolean type info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** Enumeration values. */\n enum?: Array<boolean>;\n }\n /** Integer type info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /** Enumeration values. */\n enum?: Array<number>;\n }\n /** Number (double) type info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Enumeration values. */\n enum?: Array<number>;\n }\n /** String type info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Enumeration values. */\n enum?: Array<string>;\n }\n /** Array type info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: IChatGptSchema;\n }\n /** Object type info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n */\n properties: Record<string, IChatGptSchema>;\n /**\n * Additional properties information.\n *\n * The `additionalProperties` defines the type schema for additional\n * properties that are not listed in the {@link properties}.\n *\n * Note: If you've configured {@link IChatGptSchema.IConfig.strict} as\n * `true`, ChatGPT function calling does not support dynamic key typed\n * properties, so `additionalProperties` is always `false`.\n */\n additionalProperties?: boolean | IChatGptSchema;\n /**\n * List of required property keys.\n *\n * The `required` contains a list of property keys from {@link properties}\n * that must be provided. Properties not listed in `required` are optional,\n * while those listed must be filled.\n *\n * Below is an example of {@link properties} and `required`:\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so they are listed in the `required` array.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /** Reference type directing to named schema. */\n interface IReference extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `$ref` is a reference to a named schema. The format follows the\n * JSON Pointer specification. In OpenAPI, the `$ref` starts with `#/$defs/`\n * which indicates the type is stored in the\n * {@link IChatGptSchema.IParameters.$defs} object.\n *\n * - `#/$defs/SomeObject`\n * - `#/$defs/AnotherObject`\n */\n $ref: string;\n }\n /**\n * Union type.\n *\n * `IAnyOf` represents a union type in TypeScript (`A | B | C`).\n *\n * For reference, even if your Swagger (or OpenAPI) document defines\n * `anyOf` instead of `oneOf`, {@link IChatGptSchema} forcibly converts it\n * to `anyOf` type.\n */\n interface IAnyOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n anyOf: Exclude<IChatGptSchema, IChatGptSchema.IAnyOf>[];\n /** Discriminator info of the union type. */\n \"x-discriminator\"?: IAnyOf.IDiscriminator;\n }\n namespace IAnyOf {\n /** Discriminator info of the union type. */\n interface IDiscriminator {\n /** Property name for the discriminator. */\n propertyName: string;\n /**\n * Mapping of discriminator values to schema names.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IAnyOf.anyOf} elements. Therefore, the `key` of `mapping` is the\n * discriminator value, and the `value` of `mapping` is the schema name like\n * `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /** Null type. */\n interface INull extends IJsonSchemaAttribute.INull {\n }\n /** Unknown, the `any` type. */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @ignore\n * @deprecated\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /** Discriminator value of the type. */\n type: Type;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @ignore\n * @deprecated\n */\n type __IAttribute = IJsonSchemaAttribute;\n /** Configuration for ChatGPT schema composition. */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link IChatGptSchema.IReference} would be escaped to a\n * plain type unless recursive type case.\n *\n * This is because the lower version of ChatGPT does not understand the\n * reference type well, and even the modern version of ChatGPT sometimes\n * occur the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the modern version\n * of ChatGPT, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n /**\n * Whether to apply the strict mode.\n *\n * If you configure this property to `true`, the ChatGPT function calling\n * does not allow optional properties and dynamic key typed properties in\n * the {@link IChatGptSchema.IObject} type. Instead, it increases the success\n * rate of the function calling.\n *\n * By the way, if you utilize the {@link typia.validate} function and give\n * its validation feedback to the ChatGPT, its performance is much better\n * than the strict mode. Therefore, I recommend you to just turn off the\n * strict mode and utilize the {@link typia.validate} function instead.\n *\n * @default false\n */\n strict?: boolean;\n }\n}\n",
82
- "node_modules/@samchon/openapi/lib/structures/IClaudeSchema.d.ts": "import { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * Type schema for Claude function calling.\n *\n * `IClaudeSchema` defines the type schema format for Claude function calling.\n *\n * `IClaudeSchema` appears to fully support the JSON schema definition of the\n * OpenAPI v3.1 specification; {@link OpenApiV3_1.IJsonSchema}. However, since\n * {@link OpenApiV3_1.IJsonSchema} has many ambiguous and duplicated\n * expressions, `IClaudeSchema` is designed to be clear and simple for Claude\n * function calling by utilizing {@link ILlmSchemaV3_1}, which has been\n * transformed from {@link OpenApi.IJsonSchema} for convenience and clarity.\n *\n * Therefore, `IClaudeSchema` does not follow the entire OpenAPI v3.1 specification.\n * It has specific restrictions and definitions. Here are the differences between\n * `ILlmSchemaV3_1` and the OpenAPI v3.1 JSON schema:\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link IClaudeSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IClaudeSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link IClaudeSchema.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * Compared to {@link OpenApi.IJsonSchema}, the emended JSON schema specification:\n *\n * - {@link IClaudeSchema.IParameters.$defs} instead of\n * {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link IClaudeSchema.properties} and {@link IClaudeSchema.required} are always\n * defined\n *\n * For reference, if you compose the `IClaudeSchema` type with the\n * {@link IClaudeSchema.IConfig.reference} `false` option (default is `false`),\n * only recursively named types will be archived into the\n * {@link IClaudeSchema.IParameters.$defs}, and others will be escaped from\n * the {@link IClaudeSchema.IReference} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://docs.anthropic.com/en/docs/build-with-claude/tool-use\n * @reference https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/increase-consistency\n */\nexport type IClaudeSchema = IClaudeSchema.IConstant | IClaudeSchema.IBoolean | IClaudeSchema.IInteger | IClaudeSchema.INumber | IClaudeSchema.IString | IClaudeSchema.IArray | IClaudeSchema.IObject | IClaudeSchema.IReference | IClaudeSchema.IOneOf | IClaudeSchema.INull | IClaudeSchema.IUnknown;\nexport declare namespace IClaudeSchema {\n /** Configuration for Claude schema composition. */\n interface IConfig {\n /**\n * Whether to allow reference types everywhere.\n *\n * If you configure this property to `false`, most reference types\n * represented by {@link IClaudeSchema.IReference} will be escaped to\n * plain types unless in recursive type cases.\n *\n * This is because some smaller LLM models do not understand reference\n * types well, and even large LLM models sometimes experience\n * hallucinations.\n *\n * However, reference types make the schema size smaller, reducing\n * LLM token costs. Therefore, if you're using a large LLM model\n * and want to reduce token costs, you can configure this property to `true`.\n *\n * @default true\n */\n reference: boolean;\n }\n /**\n * Type for function parameters.\n *\n * `IClaudeSchema.IParameters` defines a function's parameters as a\n * keyword object type.\n *\n * It can also be used for structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters = ILlmSchemaV3_1.IParameters;\n /** Constant value type. */\n type IConstant = ILlmSchemaV3_1.IConstant;\n /** Boolean type info. */\n type IBoolean = ILlmSchemaV3_1.IBoolean;\n /** Integer type info. */\n type IInteger = ILlmSchemaV3_1.IInteger;\n /** Number (double) type info. */\n type INumber = ILlmSchemaV3_1.INumber;\n /** String type info. */\n type IString = ILlmSchemaV3_1.IString;\n /** Array type info. */\n type IArray = ILlmSchemaV3_1.IArray;\n /** Object type info. */\n type IObject = ILlmSchemaV3_1.IObject;\n /** Reference type directing to named schema. */\n type IReference = ILlmSchemaV3_1.IReference;\n /**\n * Union type.\n *\n * `IOneOf` represents a union type in TypeScript (`A | B | C`).\n *\n * For reference, even if your Swagger (or OpenAPI) document defines\n * `anyOf` instead of `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n type IOneOf = ILlmSchemaV3_1.IOneOf;\n namespace IOneOf {\n /** Discriminator information of the union type. */\n type IDiscriminator = ILlmSchemaV3_1.IOneOf.IDiscriminator;\n }\n /** Null type. */\n type INull = ILlmSchemaV3_1.INull;\n /** Unknown, the `any` type. */\n type IUnknown = ILlmSchemaV3_1.IUnknown;\n}\n",
83
- "node_modules/@samchon/openapi/lib/structures/IDeepSeekSchema.d.ts": "import { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * Type schema info of the DeepSeek.\n *\n * `IDeepSeekSchema` is a type schema info of the DeepSeek function calling.\n *\n * `IDeepSeekSchema` seems fully supporting the JSON schema definition of the\n * OpenAPI v3.1 specification; {@link OpenApiV3_1.IJsonSchema}. By the way, as\n * the {@link OpenApiV3_1.IJsonSchema} has too much ambiguous and duplicated\n * expressions, `IDeepSeekSchema` is designed to be clear and simple for the\n * DeepSeek function calling, by utilizing {@link ILlmSchemaV3_1} which has been\n * transformed from the {@link OpenApi.IJsonSchema} for the convenience and\n * clarity.\n *\n * Therefore, `IDeepSeekSchema` does not follow the entire specification of the\n * OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `ILlmSchemaV3_1` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link IDeepSeekSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IDeepSeekSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link IDeepSeekSchema.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification,\n *\n * - {@link IDeepSeekSchema.IParameters.$defs} instead of the\n * {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link IDeepSeekSchema.properties} and {@link IDeepSeekSchema.required} are\n * always defined\n *\n * For reference, if you've composed the `IDeepSeekSchema` type with the\n * {@link IDeepSeekSchema.IConfig.reference} `false` option (default is `false`),\n * only the recursive named types would be archived into the\n * {@link IDeepSeekSchema.IParameters.$defs}, and the others would be escaped\n * from the {@link IDeepSeekSchema.IReference} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport type IDeepSeekSchema = IDeepSeekSchema.IConstant | IDeepSeekSchema.IBoolean | IDeepSeekSchema.IInteger | IDeepSeekSchema.INumber | IDeepSeekSchema.IString | IDeepSeekSchema.IArray | IDeepSeekSchema.IObject | IDeepSeekSchema.IReference | IDeepSeekSchema.IOneOf | IDeepSeekSchema.INull | IDeepSeekSchema.IUnknown;\nexport declare namespace IDeepSeekSchema {\n /** Configuration for DeepSeek schema composition. */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link IDeepSeekSchema.IReference} would be escaped to a\n * plain type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the large size of\n * LLM model, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `IDeepSeekSchema.IParameters` is a type defining a function's parameters as\n * a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters = ILlmSchemaV3_1.IParameters;\n /** Constant value type. */\n type IConstant = ILlmSchemaV3_1.IConstant;\n /** Boolean type info. */\n type IBoolean = ILlmSchemaV3_1.IBoolean;\n /** Integer type info. */\n type IInteger = ILlmSchemaV3_1.IInteger;\n /** Number (double) type info. */\n type INumber = ILlmSchemaV3_1.INumber;\n /** String type info. */\n type IString = ILlmSchemaV3_1.IString;\n /** Array type info. */\n type IArray = ILlmSchemaV3_1.IArray;\n /** Object type info. */\n type IObject = ILlmSchemaV3_1.IObject;\n /** Reference type directing named schema. */\n type IReference = ILlmSchemaV3_1.IReference;\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n type IOneOf = ILlmSchemaV3_1.IOneOf;\n namespace IOneOf {\n /** Discriminator info of the union type. */\n type IDiscriminator = ILlmSchemaV3_1.IOneOf.IDiscriminator;\n }\n /** Null type. */\n type INull = ILlmSchemaV3_1.INull;\n /** Unknown, the `any` type. */\n type IUnknown = ILlmSchemaV3_1.IUnknown;\n}\n",
84
- "node_modules/@samchon/openapi/lib/structures/IGeminiSchema.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema info for the Gemini function calling.\n *\n * `IGeminiSchema` is a type metadata for the LLM (Large Language Model)\n * function calling in the Gemini.\n *\n * `IGeminiSchema` basically follows the JSON schema definition of the OpenAPI\n * v3.0 specification; {@link OpenApiV3.IJsonSchema}. However, `IGeminiSchema`\n * cannot understand union and reference types, represented by the `oneOf` and\n * `$ref` properties. Also, as OpenAPI v3.0 specification does not support the\n * tuple type, `IGeminiSchema` does not support the tuple type either.\n *\n * - Does not support\n *\n * - {@link OpenApiV3.IJsonSchema.IReference}\n * - {@link OpenApiV3.IJsonSchema.IAllOf}\n * - {@link OpenApiV3.IJsonSchema.IAnyOf}\n * - {@link OpenApiV3.IJsonSchema.IOneOf}\n * - {@link OpenApiV3.IJsonSchema.IObject.additionalProperties}\n * - {@link OpenApiV3.IJsonSchema.__IAttribute.title}\n *\n * If compare with {@link OpenApi.IJsonSchema}, the emended JSON schema type,\n * these are not supported in the Gemini schema. One thing interesting is, the\n * Gemini does not support the `title` property, so it would be revealed in the\n * {@link IGeminiSchema.__IAttribute.description} property instead.\n *\n * - {@link OpenApi.IJsonSchema.IReference}\n * - {@link OpenApi.IJsonSchema.IOneOf}\n * - {@link OpenApi.IJsonSchema.ITuple}\n * - {@link OpenApi.IJsonSchema.IObject.additionalProperties}\n * - {@link OpenApi.IJsonSchema.__IAttribute.title}\n *\n * Also, Gemini has banned below constraint properties. Instead, I'll will fill\n * the {@link IGeminiSchema.__IAttribute.description} property with the comment\n * text like `\"@format uuid\"`.\n *\n * - {@link OpenApi.IJsonSchema.INumber.minimum}\n * - {@link OpenApi.IJsonSchema.INumber.maximum}\n * - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n * - {@link OpenApi.IJsonSchema.IString.minLength}\n * - {@link OpenApi.IJsonSchema.IString.maxLength}\n * - {@link OpenApi.IJsonSchema.IString.format}\n * - {@link OpenApi.IJsonSchema.IString.pattern}\n * - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n * - {@link OpenApi.IJsonSchema.IString.default}\n * - {@link OpenApi.IJsonSchema.IArray.minItems}\n * - {@link OpenApi.IJsonSchema.IArray.maxItems}\n * - {@link OpenApi.IJsonSchema.IArray.uniqueItems}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/function-calling\n * @reference https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling\n * @reference https://ai.google.dev/gemini-api/docs/structured-output\n * @warning Specified not only by the official documentation, but also by my\n * experiments. Therefore, its definitions can be inaccurate or be\n * changed in the future. If you find any wrong or outdated definitions,\n * please let me know by issue.\n * @issue https://github.com/samchon/openapi/issues\n */\nexport type IGeminiSchema = IGeminiSchema.IBoolean | IGeminiSchema.IInteger | IGeminiSchema.INumber | IGeminiSchema.IString | IGeminiSchema.IArray | IGeminiSchema.IObject | IGeminiSchema.IUnknown | IGeminiSchema.INullOnly;\nexport declare namespace IGeminiSchema {\n /** Configuration for the Gemini schema composition. */\n interface IConfig {\n /**\n * Whether to allow recursive types or not.\n *\n * If allow, then how many times to repeat the recursive types.\n *\n * By the way, if the model is \"chatgpt\", the recursive types are always\n * allowed without any limitation, due to it supports the reference type.\n *\n * @default 3\n */\n recursive: false | number;\n }\n /**\n * Type of the function parameters.\n *\n * `IGeminiSchema.IParameters` is a type defining a function's parameters as a\n * keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://ai.google.dev/gemini-api/docs/structured-output\n */\n type IParameters = IObject;\n /** Boolean type schema info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Enumeration values. */\n enum?: Array<boolean | null>;\n }\n /** Integer type schema info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Enumeration values.\n *\n * @type int64\n */\n enum?: Array<number | null>;\n }\n /** Number type schema info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Enumeration values. */\n enum?: Array<number | null>;\n }\n /** String type schema info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Enumeration values. */\n enum?: Array<string | null>;\n }\n /** Array type schema info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Items type schema info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: IGeminiSchema;\n }\n /** Object type schema info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n *\n * If you need additional properties that is represented by dynamic key, it\n * is not possible to compose because the Gemini does not support it.\n */\n properties: Record<string, IGeminiSchema>;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /** Null only type schema info. */\n interface INullOnly extends IJsonSchemaAttribute.INull {\n }\n /**\n * Unknown type schema info.\n *\n * It means the type of the value is `any`.\n */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @ignore\n * @deprecated\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /** Discriminator value of the type. */\n type: Type;\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @ignore\n * @deprecated\n */\n type __IAttribute = IJsonSchemaAttribute;\n}\n",
78
+ "node_modules/@samchon/openapi/lib/index.d.ts": "export * from \"./OpenApi\";\nexport * from \"./SwaggerV2\";\nexport * from \"./OpenApiV3\";\nexport * from \"./OpenApiV3_1\";\nexport * from \"./structures/IJsonSchemaAttribute\";\nexport * from \"./utils/OpenApiTypeChecker\";\nexport * from \"./structures/IHttpMigrateApplication\";\nexport * from \"./structures/IHttpMigrateRoute\";\nexport * from \"./structures/IHttpConnection\";\nexport * from \"./structures/IHttpResponse\";\nexport * from \"./http/HttpError\";\nexport * from \"./HttpMigration\";\nexport * from \"./structures/IOpenApiSchemaError\";\nexport * from \"./structures/IResult\";\nexport * from \"./structures/IValidation\";\nexport * from \"./structures/IHttpLlmController\";\nexport * from \"./structures/ILlmController\";\nexport * from \"./structures/IMcpLlmController\";\nexport * from \"./structures/IHttpLlmApplication\";\nexport * from \"./structures/IHttpLlmFunction\";\nexport * from \"./structures/ILlmApplication\";\nexport * from \"./structures/ILlmFunction\";\nexport * from \"./structures/IChatGptSchema\";\nexport * from \"./structures/IClaudeSchema\";\nexport * from \"./structures/IGeminiSchema\";\nexport * from \"./structures/ILlmSchema\";\nexport * from \"./structures/ILlmSchemaV3\";\nexport * from \"./structures/ILlmSchemaV3_1\";\nexport * from \"./utils/ChatGptTypeChecker\";\nexport * from \"./utils/ClaudeTypeChecker\";\nexport * from \"./utils/DeepSeekTypeChecker\";\nexport * from \"./utils/GeminiTypeChecker\";\nexport * from \"./utils/LlamaTypeChecker\";\nexport * from \"./utils/LlmTypeCheckerV3\";\nexport * from \"./utils/LlmTypeCheckerV3_1\";\nexport * from \"./HttpLlm\";\nexport * from \"./McpLlm\";\nexport * from \"./structures/IMcpLlmApplication\";\nexport * from \"./structures/IMcpLlmFunction\";\nexport * from \"./structures/IMcpTool\";\n",
79
+ "node_modules/@samchon/openapi/lib/structures/IChatGptSchema.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema info for OpenAI function calling.\n *\n * `IChatGptSchema` is a type schema info for OpenAI function calling. The type\n * name \"ChatGpt\" is intentionally used to avoid confusion with \"OpenAPI\"\n * specification, even though this is designed for OpenAI models.\n *\n * `IChatGptSchema` basically follows the JSON schema definition of the OpenAPI\n * v3.1 specification; {@link OpenApiV3_1.IJsonSchema}. However, it deviates from\n * the standard JSON schema specification and omits many features when used in\n * {@link IChatGptSchema.IConfig.strict} mode for OpenAI function calling.\n *\n * `IChatGptSchema` supports all JSON schema features through workaround\n * expressions using JSDoc tags in the `description` property, so using\n * `IChatGptSchema` does not degrade function calling performance even in strict\n * mode.\n *\n * Here is the list of how `IChatGptSchema` is different with the OpenAPI v3.1\n * JSON schema:\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IChatGptSchema.IAnyOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IChatGptSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link IChatGptSchema.IReference}\n * - When {@link IChatGptSchema.IConfig.strict} mode:\n *\n * - Every object properties must be required\n * - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n *\n * Compared to {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification:\n *\n * - {@link IChatGptSchema.IAnyOf} instead of {@link OpenApi.IJsonSchema.IOneOf}\n * - {@link IChatGptSchema.IParameters.$defs} instead of\n * {@link OpenApi.IComponents.schemas}\n * - {@link IChatGptSchema.IString.enum} instead of\n * {@link OpenApi.IJsonSchema.IConstant}\n * - {@link IChatGptSchema.additionalProperties} is fixed to `false` in strict mode\n * - {@link IChatGptSchema.properties} and {@link IChatGptSchema.required} are\n * always defined\n * - No tuple type {@link OpenApi.IJsonSchema.ITuple} support\n * - When {@link IChatGptSchema.IConfig.strict} mode:\n *\n * - Every object properties must be required\n * - Do not allow {@link IChatGptSchema.IObject.additionalProperties}\n *\n * For reference, if you compose the `IChatGptSchema` type with the\n * {@link IChatGptSchema.IConfig.reference} `false` option (default is `false`),\n * only recursively named types are archived into the\n * {@link IChatGptSchema.IParameters.$defs}, and others are escaped from the\n * {@link IChatGptSchema.IReference} type.\n *\n * Also, OpenAI has banned the following constraint properties. Instead,\n * `IChatGptSchema` fills the {@link IChatGptSchema.description} property with\n * workaround expressions using JSDoc tags like `\"@format uuid\"` to convey these\n * constraints:\n *\n * - {@link OpenApi.IJsonSchema.INumber.minimum}\n * - {@link OpenApi.IJsonSchema.INumber.maximum}\n * - {@link OpenApi.IJsonSchema.INumber.multipleOf}\n * - {@link OpenApi.IJsonSchema.IString.minLength}\n * - {@link OpenApi.IJsonSchema.IString.maxLength}\n * - {@link OpenApi.IJsonSchema.IString.format}\n * - {@link OpenApi.IJsonSchema.IString.pattern}\n * - {@link OpenApi.IJsonSchema.IString.contentMediaType}\n * - {@link OpenApi.IJsonSchema.IString.default}\n * - {@link OpenApi.IJsonSchema.IArray.minItems}\n * - {@link OpenApi.IJsonSchema.IArray.maxItems}\n * - {@link OpenApi.IJsonSchema.IArray.unique}\n *\n * Additionally, OpenAI cannot define the {@link IChatGptSchema.description}\n * property for the {@link IChatGptSchema.IReference} type, and does not\n * understand encapsulation of the {@link IChatGptSchema.IAnyOf} type. Therefore,\n * the {@link IChatGptSchema.description} is written to the parent object type,\n * not the reference type.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"description\": \"### Description of {@link something} property.\\n\\n> Hello?\",\n * \"properties\": {\n * \"something\": {\n * \"$ref\": \"#/$defs/SomeObject\"\n * }\n * }\n * }\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n * @warning Specified not only by official documentation, but also by\n * experimental validation. Therefore, definitions may be inaccurate or\n * change in the future. If you find wrong or outdated definitions,\n * please report via issue.\n * @issue https://github.com/samchon/openapi/issues\n */\nexport type IChatGptSchema = IChatGptSchema.IBoolean | IChatGptSchema.IInteger | IChatGptSchema.INumber | IChatGptSchema.IString | IChatGptSchema.IArray | IChatGptSchema.IObject | IChatGptSchema.IReference | IChatGptSchema.IAnyOf | IChatGptSchema.INull | IChatGptSchema.IUnknown;\nexport declare namespace IChatGptSchema {\n /** Configuration for ChatGPT schema composition. */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link IChatGptSchema.IReference} would be escaped to a\n * plain type unless recursive type case.\n *\n * This is because the lower version of ChatGPT does not understand the\n * reference type well, and even the modern version of ChatGPT sometimes\n * occur the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the modern version\n * of ChatGPT, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n /**\n * Whether to apply the strict mode.\n *\n * If you configure this property to `true`, the ChatGPT function calling\n * does not allow optional properties and dynamic key typed properties in\n * the {@link IChatGptSchema.IObject} type. Instead, it increases the success\n * rate of the function calling.\n *\n * By the way, if you utilize the {@link typia.validate} function and give\n * its validation feedback to the ChatGPT, its performance is much better\n * than the strict mode. Therefore, I recommend you to just turn off the\n * strict mode and utilize the {@link typia.validate} function instead.\n *\n * @default false\n */\n strict?: boolean;\n }\n /**\n * Type for function parameters.\n *\n * `IChatGptSchema.IParameters` defines a function's parameters as a keyword\n * object type, where each property represents a named parameter.\n *\n * It can also be used for structured output metadata to define the expected\n * format of ChatGPT responses.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /** Collection of the named types. */\n $defs: Record<string, IChatGptSchema>;\n /**\n * Additional properties information.\n *\n * The `additionalProperties` defines the type schema for additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed at the parameters level.\n */\n additionalProperties: false;\n }\n /** Boolean type info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** Enumeration values. */\n enum?: Array<boolean>;\n }\n /** Integer type info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /** Enumeration values. */\n enum?: Array<number>;\n }\n /** Number (double) type info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Enumeration values. */\n enum?: Array<number>;\n }\n /** String type info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Enumeration values. */\n enum?: Array<string>;\n /** Default value. */\n default?: string;\n }\n /** Array type info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: IChatGptSchema;\n }\n /** Object type info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n */\n properties: Record<string, IChatGptSchema>;\n /**\n * Additional properties information.\n *\n * The `additionalProperties` defines the type schema for additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link IChatGptSchema} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IChatGptSchema`: `Record<string, T>`\n *\n * Note: If you've configured {@link IChatGptSchema.IConfig.strict} as\n * `true`, ChatGPT function calling does not support dynamic key typed\n * properties, so `additionalProperties` is always `false`.\n */\n additionalProperties?: boolean | IChatGptSchema;\n /**\n * List of required property keys.\n *\n * The `required` contains a list of property keys from {@link properties}\n * that must be provided. Properties not listed in `required` are optional,\n * while those listed must be filled.\n *\n * Below is an example of {@link properties} and `required`:\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so they are listed in the `required` array.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /** Reference type directing to named schema. */\n interface IReference extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `$ref` is a reference to a named schema. The format follows the JSON\n * Pointer specification. In OpenAPI, the `$ref` starts with `#/$defs/`\n * which indicates the type is stored in the\n * {@link IChatGptSchema.IParameters.$defs} object.\n *\n * - `#/$defs/SomeObject`\n * - `#/$defs/AnotherObject`\n */\n $ref: string;\n }\n /**\n * Union type.\n *\n * `IAnyOf` represents a union type in TypeScript (`A | B | C`).\n *\n * For reference, even if your Swagger (or OpenAPI) document defines `anyOf`\n * instead of `oneOf`, {@link IChatGptSchema} forcibly converts it to `anyOf`\n * type.\n */\n interface IAnyOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n anyOf: Exclude<IChatGptSchema, IChatGptSchema.IAnyOf>[];\n /** Discriminator info of the union type. */\n \"x-discriminator\"?: IAnyOf.IDiscriminator;\n }\n namespace IAnyOf {\n /** Discriminator info of the union type. */\n interface IDiscriminator {\n /** Property name for the discriminator. */\n propertyName: string;\n /**\n * Mapping of discriminator values to schema names.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IAnyOf.anyOf} elements. Therefore, the `key` of `mapping` is the\n * discriminator value, and the `value` of `mapping` is the schema name\n * like `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /** Null type. */\n interface INull extends IJsonSchemaAttribute.INull {\n }\n /** Unknown, the `any` type. */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n}\n",
80
+ "node_modules/@samchon/openapi/lib/structures/IClaudeSchema.d.ts": "import { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * Type schema for Claude function calling.\n *\n * `IClaudeSchema` defines the type schema format for Claude function calling.\n *\n * `IClaudeSchema` appears to fully support the JSON schema definition of the\n * OpenAPI v3.1 specification; {@link OpenApiV3_1.IJsonSchema}. However, since\n * {@link OpenApiV3_1.IJsonSchema} has many ambiguous and duplicated expressions,\n * `IClaudeSchema` is designed to be clear and simple for Claude function\n * calling by utilizing {@link ILlmSchemaV3_1}, which has been transformed from\n * {@link OpenApi.IJsonSchema} for convenience and clarity.\n *\n * Therefore, `IClaudeSchema` does not follow the entire OpenAPI v3.1\n * specification. It has specific restrictions and definitions. Here are the\n * differences between `ILlmSchemaV3_1` and the OpenAPI v3.1 JSON schema:\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link IClaudeSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IClaudeSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link IClaudeSchema.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * Compared to {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification:\n *\n * - {@link IClaudeSchema.IParameters.$defs} instead of\n * {@link OpenApi.IComponents.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link IClaudeSchema.properties} and {@link IClaudeSchema.required} are always\n * defined\n *\n * For reference, if you compose the `IClaudeSchema` type with the\n * {@link IClaudeSchema.IConfig.reference} `false` option (default is `false`),\n * only recursively named types will be archived into the\n * {@link IClaudeSchema.IParameters.$defs}, and others will be escaped from the\n * {@link IClaudeSchema.IReference} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://docs.anthropic.com/en/docs/build-with-claude/tool-use\n * @reference https://docs.anthropic.com/en/docs/test-and-evaluate/strengthen-guardrails/increase-consistency\n */\nexport type IClaudeSchema = IClaudeSchema.IConstant | IClaudeSchema.IBoolean | IClaudeSchema.IInteger | IClaudeSchema.INumber | IClaudeSchema.IString | IClaudeSchema.IArray | IClaudeSchema.IObject | IClaudeSchema.IReference | IClaudeSchema.IOneOf | IClaudeSchema.INull | IClaudeSchema.IUnknown;\nexport declare namespace IClaudeSchema {\n /** Configuration for Claude schema composition. */\n interface IConfig {\n /**\n * Whether to allow reference types everywhere.\n *\n * If you configure this property to `false`, most reference types\n * represented by {@link IClaudeSchema.IReference} will be escaped to plain\n * types unless in recursive type cases.\n *\n * This is because some smaller LLM models do not understand reference types\n * well, and even large LLM models sometimes experience hallucinations.\n *\n * However, reference types make the schema size smaller, reducing LLM token\n * costs. Therefore, if you're using a large LLM model and want to reduce\n * token costs, you can configure this property to `true`.\n *\n * @default true\n */\n reference: boolean;\n }\n /**\n * Type for function parameters.\n *\n * `IClaudeSchema.IParameters` defines a function's parameters as a keyword\n * object type.\n *\n * It can also be used for structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters = ILlmSchemaV3_1.IParameters;\n /** Constant value type. */\n type IConstant = ILlmSchemaV3_1.IConstant;\n /** Boolean type info. */\n type IBoolean = ILlmSchemaV3_1.IBoolean;\n /** Integer type info. */\n type IInteger = ILlmSchemaV3_1.IInteger;\n /** Number (double) type info. */\n type INumber = ILlmSchemaV3_1.INumber;\n /** String type info. */\n type IString = ILlmSchemaV3_1.IString;\n /** Array type info. */\n type IArray = ILlmSchemaV3_1.IArray;\n /** Object type info. */\n type IObject = ILlmSchemaV3_1.IObject;\n /** Reference type directing to named schema. */\n type IReference = ILlmSchemaV3_1.IReference;\n /**\n * Union type.\n *\n * `IOneOf` represents a union type in TypeScript (`A | B | C`).\n *\n * For reference, even if your Swagger (or OpenAPI) document defines `anyOf`\n * instead of `oneOf`, {@link OpenApi} forcibly converts it to `oneOf` type.\n */\n type IOneOf = ILlmSchemaV3_1.IOneOf;\n namespace IOneOf {\n /** Discriminator information of the union type. */\n type IDiscriminator = ILlmSchemaV3_1.IOneOf.IDiscriminator;\n }\n /** Null type. */\n type INull = ILlmSchemaV3_1.INull;\n /** Unknown, the `any` type. */\n type IUnknown = ILlmSchemaV3_1.IUnknown;\n}\n",
81
+ "node_modules/@samchon/openapi/lib/structures/IGeminiSchema.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema info for Gemini function calling.\n *\n * `IGeminiSchema` is a type schema info for Gemini function calling,\n * implemented according to the official Gemini guide documentation\n * specification.\n *\n * `IGeminiSchema` basically follows the JSON schema definition of the OpenAPI\n * v3.1 specification; {@link OpenApiV3_1.IJsonSchema}. Although Gemini had\n * significant limitations in earlier versions (prior to 2025-11-05), it now\n * supports nearly all JSON schema features including union types, reference\n * types, and various constraint properties.\n *\n * In earlier versions, Gemini blocked virtually all JSON schema specifications\n * such as `anyOf`, `$ref`, `format`, `maxItems`, making function calling\n * practically impossible. However, these limitations have been removed in recent\n * updates.\n *\n * `IGeminiSchema` provides a type definition that strictly follows the Gemini\n * official specification.\n *\n * Here is the list of how `IGeminiSchema` is different with the OpenAPI v3.1\n * JSON schema:\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IOneOf} to {@link IGeminiSchema.IAnyOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link IGeminiSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link IGeminiSchema.IReference}\n *\n * Compared to {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification:\n *\n * - {@link IGeminiSchema.IAnyOf} instead of {@link OpenApi.IJsonSchema.IOneOf}\n * - {@link IGeminiSchema.IParameters.$defs} instead of\n * {@link OpenApi.IJsonSchema.IComponents.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link IGeminiSchema.properties} and {@link IGeminiSchema.required} are always\n * defined\n *\n * For reference, if you compose the `IGeminiSchema` type with the\n * {@link IGeminiSchema.IConfig.reference} `false` option (default is `false`),\n * only recursively named types are archived into the\n * {@link IGeminiSchema.IParameters.$defs}, and others are escaped from the\n * {@link IGeminiSchema.IReference} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://cloud.google.com/vertex-ai/generative-ai/docs/model-reference/function-calling\n * @reference https://cloud.google.com/vertex-ai/generative-ai/docs/multimodal/function-calling\n * @reference https://ai.google.dev/gemini-api/docs/structured-output\n * @warning Specified not only by the official documentation, but also by\n * experimental validation. Therefore, definitions may be inaccurate or\n * change in the future. If you find wrong or outdated definitions,\n * please report via issue.\n * @issue https://github.com/samchon/openapi/issues\n */\nexport type IGeminiSchema = IGeminiSchema.IBoolean | IGeminiSchema.IInteger | IGeminiSchema.INumber | IGeminiSchema.IString | IGeminiSchema.IArray | IGeminiSchema.IObject | IGeminiSchema.IReference | IGeminiSchema.IAnyOf | IGeminiSchema.INull | IGeminiSchema.IUnknown;\nexport declare namespace IGeminiSchema {\n /** Configuration for the Gemini schema composition. */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link IGeminiSchema.IReference} would be escaped to a\n * plain type unless recursive type case.\n *\n * This is because the lower version of ChatGPT does not understand the\n * reference type well, and even the modern version of ChatGPT sometimes\n * occur the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the modern version\n * of ChatGPT, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n }\n /**\n * Type for function parameters.\n *\n * `IGeminiSchema.IParameters` defines a function's parameters as a keyword\n * object type, where each property represents a named parameter.\n *\n * It can also be used for structured output metadata to define the expected\n * format of ChatGPT responses.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /** Collection of the named types. */\n $defs: Record<string, IGeminiSchema>;\n /**\n * Additional properties information.\n *\n * The `additionalProperties` defines the type schema for additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed at the parameters level.\n */\n additionalProperties: false;\n }\n /** Boolean type info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** Enumeration values. */\n enum?: Array<boolean>;\n /** Default value. */\n default?: boolean;\n }\n /** Integer type info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /** Enumeration values. */\n enum?: Array<number>;\n /**\n * Default value.\n *\n * @type int64\n */\n default?: number;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** Number (double) type info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Enumeration values. */\n enum?: Array<number>;\n /** Default value. */\n default?: number;\n /** Minimum value restriction. */\n minimum?: number;\n /** Maximum value restriction. */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** String type info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Enumeration values. */\n enum?: Array<string>;\n /** Default value. */\n default?: string;\n /** Format restriction. */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /** Pattern restriction. */\n pattern?: string;\n /** Content media type restriction. */\n contentMediaType?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n }\n /** Array type info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: IGeminiSchema;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Object type info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n */\n properties: Record<string, IGeminiSchema>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link IGeminiSchema} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IGeminiSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | IGeminiSchema;\n /**\n * List of required property keys.\n *\n * The `required` contains a list of property keys from {@link properties}\n * that must be provided. Properties not listed in `required` are optional,\n * while those listed must be filled.\n *\n * Below is an example of {@link properties} and `required`:\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so they are listed in the `required` array.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /** Reference type directing to named schema. */\n interface IReference extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `$ref` is a reference to a named schema. The format follows the JSON\n * Pointer specification. In OpenAPI, the `$ref` starts with `#/$defs/`\n * which indicates the type is stored in the\n * {@link IGeminiSchema.IParameters.$defs} object.\n *\n * - `#/$defs/SomeObject`\n * - `#/$defs/AnotherObject`\n */\n $ref: string;\n }\n /**\n * Union type.\n *\n * `IAnyOf` represents a union type in TypeScript (`A | B | C`).\n *\n * For reference, even if your Swagger (or OpenAPI) document defines `anyOf`\n * instead of `oneOf`, {@link IGeminiSchema} forcibly converts it to `anyOf`\n * type.\n */\n interface IAnyOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n anyOf: Exclude<IGeminiSchema, IGeminiSchema.IAnyOf>[];\n /** Discriminator info of the union type. */\n \"x-discriminator\"?: IAnyOf.IDiscriminator;\n }\n namespace IAnyOf {\n /** Discriminator info of the union type. */\n interface IDiscriminator {\n /** Property name for the discriminator. */\n propertyName: string;\n /**\n * Mapping of discriminator values to schema names.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IAnyOf.anyOf} elements. Therefore, the `key` of `mapping` is the\n * discriminator value, and the `value` of `mapping` is the schema name\n * like `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /** Null type. */\n interface INull extends IJsonSchemaAttribute.INull {\n }\n /** Unknown, the `any` type. */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n}\n",
85
82
  "node_modules/@samchon/openapi/lib/structures/IHttpConnection.d.ts": "/**\n * Connection information.\n *\n * `IHttpConnection` is an interface type that represents connection information of\n * the remote HTTP server. You can target the remote HTTP server by writing the\n * {@link IHttpConnection.host} variable down. Also, you can configure special\n * header values by specializing the {@link IHttpConnection.headers} variable.\n *\n * If the remote HTTP server encrypts or decrypts its body data through the\n * AES-128/256 algorithm, specify the {@link IHttpConnection.encryption} with\n * {@link IEncryptionPassword} or {@link IEncryptionPassword.Closure} variable.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @author Seungjun We - https://github.com/SeungjunWe\n */\nexport interface IHttpConnection {\n /** Host address of the remote HTTP server. */\n host: string;\n /** Header values delivered to the remote HTTP server. */\n headers?: Record<string, IHttpConnection.HeaderValue>;\n /** Additional options for the `fetch` function. */\n options?: IHttpConnection.IOptions;\n /**\n * Custom fetch function.\n *\n * If you want to use custom `fetch` function instead of built-in, assign your\n * custom `fetch` function into this property.\n *\n * For reference, the `fetch` function has started to be supported since\n * version 20 of NodeJS. Therefore, if you are using NodeJS version 19 or\n * lower, you have to assign the `node-fetch` module into this property.\n */\n fetch?: typeof fetch;\n}\nexport declare namespace IHttpConnection {\n /**\n * Additional options for the `fetch` function.\n *\n * Almost same with {@link RequestInit} type of the {@link fetch} function, but\n * `body`, `headers` and `method` properties are omitted.\n *\n * The reason why defining duplicated definition of {@link RequestInit} is for\n * legacy NodeJS environments, which does not have the {@link fetch} function\n * type.\n */\n interface IOptions {\n /**\n * A string indicating how the request will interact with the browser's\n * cache to set request's cache.\n */\n cache?: \"default\" | \"force-cache\" | \"no-cache\" | \"no-store\" | \"only-if-cached\" | \"reload\";\n /**\n * A string indicating whether credentials will be sent with the request\n * always, never, or only when sent to a same-origin URL. Sets request's\n * credentials.\n */\n credentials?: \"omit\" | \"same-origin\" | \"include\";\n /**\n * A cryptographic hash of the resource to be fetched by request.\n *\n * Sets request's integrity.\n */\n integrity?: string;\n /** A boolean to set request's keepalive. */\n keepalive?: boolean;\n /**\n * A string to indicate whether the request will use CORS, or will be\n * restricted to same-origin URLs.\n *\n * Sets request's mode.\n */\n mode?: \"cors\" | \"navigate\" | \"no-cors\" | \"same-origin\";\n /**\n * A string indicating whether request follows redirects, results in an\n * error upon encountering a redirect, or returns the redirect (in an opaque\n * fashion).\n *\n * Sets request's redirect.\n */\n redirect?: \"error\" | \"follow\" | \"manual\";\n /**\n * A string whose value is a same-origin URL, \"about:client\", or the empty\n * string, to set request's referrer.\n */\n referrer?: string;\n /** A referrer policy to set request's referrerPolicy. */\n referrerPolicy?: \"\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\";\n /** An AbortSignal to set request's signal. */\n signal?: AbortSignal | null;\n }\n /**\n * Type of allowed header values.\n *\n * Only atomic or array of atomic values are allowed.\n */\n type HeaderValue = string | boolean | number | bigint | string | Array<boolean> | Array<number> | Array<bigint> | Array<number> | Array<string>;\n}\n",
86
83
  "node_modules/@samchon/openapi/lib/structures/IHttpLlmApplication.d.ts": "import { OpenApi } from \"../OpenApi\";\nimport { IHttpLlmFunction } from \"./IHttpLlmFunction\";\nimport { IHttpMigrateRoute } from \"./IHttpMigrateRoute\";\nimport { ILlmSchema } from \"./ILlmSchema\";\n/**\n * Application of LLM function call from OpenAPI document.\n *\n * `IHttpLlmApplication` is a data structure representing a collection of\n * {@link IHttpLlmFunction LLM function calling schemas} composed from the\n * {@link OpenApi.IDocument OpenAPI document} and its\n * {@link OpenApi.IOperation operation} metadata. It also contains\n * {@link IHttpLlmApplication.errors failed operations}, and adjusted\n * {@link IHttpLlmApplication.options options} during the `IHttpLlmApplication`\n * construction.\n *\n * About the {@link OpenApi.IOperation API operations}, they are converted to\n * {@link IHttpLlmFunction} type which represents LLM function calling schema. By\n * the way, if there're some types which does not supported by LLM, the\n * operation would be failed and pushed into the\n * {@link IHttpLlmApplication.errors}. Otherwise not, the operation would be\n * successfully converted to {@link IHttpLlmFunction} and its type schemas are\n * downgraded to {@link OpenApiV3.IJsonSchema} and converted to\n * {@link ILlmSchemaV3}.\n *\n * For reference, the arguments type is composed by below rule.\n *\n * - `pathParameters`: Path parameters of {@link IHttpMigrateRoute.parameters}\n * - `query`: Query parameter of {@link IHttpMigrateRoute.query}\n * - `body`: Body parameter of {@link IHttpMigrateRoute.body}\n *\n * ```typescript\n * {\n * ...pathParameters,\n * query,\n * body,\n * }\n * ```\n *\n * By the way, there can be some parameters (or their nested properties) which\n * must be composed by Human, not by LLM. File uploading feature or some\n * sensitive information like secret key (password) are the examples. In that\n * case, you can separate the function parameters to both LLM and Human sides by\n * configuring the {@link IHttpLlmApplication.IOptions.separate} property. The\n * separated parameters are assigned to the {@link IHttpLlmFunction.separated}\n * property.\n *\n * For reference, the actual function call execution is not by LLM, but by you.\n * When the LLM selects the proper function and fills the arguments, you just\n * call the function by {@link HttpLlm.execute} with the LLM prepared arguments.\n * And then informs the return value to the LLM by system prompt. The LLM will\n * continue the next conversation based on the return value.\n *\n * Additionally, if you've configured\n * {@link IHttpLlmApplication.IOptions.separate}, so that the parameters are\n * separated to Human and LLM sides, you can merge these human and LLM sides'\n * parameters into one through {@link HttpLlm.mergeParameters} before the actual\n * LLM function call execution.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpLlmApplication<Model extends ILlmSchema.Model> {\n /** Model of the target LLM. */\n model: Model;\n /**\n * List of function metadata.\n *\n * List of function metadata that can be used for the LLM function call.\n *\n * When you want to execute the function with LLM constructed arguments, you\n * can do it through {@link LlmFetcher.execute} function.\n */\n functions: IHttpLlmFunction<Model>[];\n /** List of errors occurred during the composition. */\n errors: IHttpLlmApplication.IError[];\n /** Configuration for the application. */\n options: IHttpLlmApplication.IOptions<Model>;\n}\nexport declare namespace IHttpLlmApplication {\n /** Options for the HTTP LLM application schema composition. */\n type IOptions<Model extends ILlmSchema.Model> = ILlmSchema.ModelConfig[Model] & {\n /**\n * Separator function for the parameters.\n *\n * When composing parameter arguments through LLM function call, there can\n * be a case that some parameters must be composed by human, or LLM cannot\n * understand the parameter.\n *\n * For example, if the parameter type has configured\n * {@link IGeminiSchema.IString.contentMediaType} which indicates file\n * uploading, it must be composed by human, not by LLM (Large Language\n * Model).\n *\n * In that case, if you configure this property with a function that\n * predicating whether the schema value must be composed by human or not,\n * the parameters would be separated into two parts.\n *\n * - {@link ILlmFunction.separated.llm}\n * - {@link ILlmFunction.separated.human}\n *\n * When writing the function, note that returning value `true` means to be\n * a human composing the value, and `false` means to LLM composing the\n * value. Also, when predicating the schema, it would better to utilize\n * the {@link GeminiTypeChecker} like features.\n *\n * @default null\n * @param schema Schema to be separated.\n * @returns Whether the schema value must be composed by human or not.\n */\n separate?: null | ((schema: ILlmSchema.ModelSchema[Model]) => boolean);\n /**\n * Maximum length of function name.\n *\n * When a function name is longer than this value, it will be truncated.\n *\n * If not possible to truncate due to the duplication, the function name\n * would be modified to randomly generated (UUID v4).\n *\n * @default 64\n */\n maxLength?: number;\n /** Whether to disallow superfluous properties or not. */\n equals?: boolean;\n };\n /** Error occurred in the composition. */\n interface IError {\n /** HTTP method of the endpoint. */\n method: \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\" | \"head\";\n /** Path of the endpoint. */\n path: string;\n /** Error messages. */\n messages: string[];\n /**\n * Get the Swagger operation metadata.\n *\n * Get the Swagger operation metadata, of the source.\n */\n operation: () => OpenApi.IOperation;\n /**\n * Get the migration route metadata.\n *\n * Get the migration route metadata, of the source.\n *\n * If the property returns `undefined`, it means that the error has been\n * occurred in the migration level, not of LLM application composition.\n *\n * @returns Migration route metadata.\n */\n route: () => IHttpMigrateRoute | undefined;\n }\n}\n",
87
84
  "node_modules/@samchon/openapi/lib/structures/IHttpLlmController.d.ts": "import { IHttpConnection } from \"./IHttpConnection\";\nimport { IHttpLlmApplication } from \"./IHttpLlmApplication\";\nimport { IHttpLlmFunction } from \"./IHttpLlmFunction\";\nimport { IHttpResponse } from \"./IHttpResponse\";\nimport { ILlmSchema } from \"./ILlmSchema\";\n/**\n * Controller of HTTP LLM function calling.\n *\n * `IHttpLlmController` is a controller of HTTP LLM function calling, containing\n * not only the {@link IHttpLlmApplication application} of\n * {@link IHttpLlmFunction function calling schemas}, but also\n * {@link name identifier name} of the application and {@link execute executor} of\n * its HTTP functions.\n *\n * Here is an example of using `IHttpLlmController` type for AI agent\n * development of performing AI function calling to e-commerce API functions\n * through `@agentica`.\n *\n * ```typescript\n * import { Agentica } from \"@agentica/core\";\n * import { HttpLlm, OpenApi } from \"@samchon/openapi\";\n *\n * const agentica = new Agentica({\n * model: \"chatgpt\",\n * vendor: {\n * api: new OpenAI({ apiKey: \"********\" }),\n * model: \"gpt-4o-mini\",\n * },\n * controllers: [\n * {\n * protocol: \"http\",\n * name: \"shopping\",\n * application: HttpLlm.application(\n * model: \"chatgpt\",\n * document: await fetch(\n * \"https://shopping-be.wrtn.io/editor/swagger.json\",\n * ).then((r) => r.json()),\n * ),\n * connection: {\n * host: \"https://shopping-be.wrtn.io\",\n * headers: {\n * Authorization: \"Bearer ********\",\n * },\n * },\n * },\n * ],\n * });\n * await agentica.conversate(\"I wanna buy a new phone.\");\n * ```\n *\n * For reference, this `IHttpLlmController` type is designed for HTTP API\n * servers. If you want to make a controller of another {@link protocol} like MCP\n * or TypeScript, use below types instead:\n *\n * - {@link IMcpLlmController} for MCP\n * - {@link ILlmController} for TypeScript\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Model Type of the LLM model\n * @reference https://wrtnlabs.io/agentica/docs/core/controller/swagger/\n */\nexport interface IHttpLlmController<Model extends ILlmSchema.Model> {\n /** Protocol discriminator. */\n protocol: \"http\";\n /** Identifier name of the controller. */\n name: string;\n /** Application schema of function calling. */\n application: IHttpLlmApplication<Model>;\n /**\n * Connection to the server.\n *\n * Connection to the API server including the URL and headers.\n */\n connection: IHttpConnection;\n /**\n * Executor of the API function.\n *\n * Default executor is {@link HttpLlm.execute} function, and you can override\n * it with your own function.\n *\n * @param props Properties of the API function call\n * @returns HTTP response of the API function call\n */\n execute?: undefined | ((props: {\n /** Connection to the server. */\n connection: IHttpConnection;\n /** Application schema. */\n application: IHttpLlmApplication<Model>;\n /** Function schema. */\n function: IHttpLlmFunction<Model>;\n /**\n * Arguments of the function calling.\n *\n * It is an object of key-value pairs of the API function's parameters.\n * The property keys are composed by below rules:\n *\n * - Parameter names\n * - Query parameter as an object type if exists\n * - Body parameter if exists\n */\n arguments: object;\n }) => Promise<IHttpResponse>);\n}\n",
@@ -89,18 +86,17 @@
89
86
  "node_modules/@samchon/openapi/lib/structures/IHttpMigrateApplication.d.ts": "import { OpenApi } from \"../OpenApi\";\nimport { IHttpMigrateRoute } from \"./IHttpMigrateRoute\";\n/**\n * Document of migration.\n *\n * The `IHttpMigrateApplication` interface is an application migrated from\n * {@link OpenAPI.IDocument OpenAPI document} for supporting the OpenAPI\n * generator libraries which compose RPC (Remote Procedure Call) functions from\n * the {@link OpenAPI.IOperation OpenAPI operations}.\n *\n * As the `IHttpMigrateApplication` and {@link IHttpMigrateRoute} have a lot of\n * special stories, when you're developing OpenAPI generator library, please\n * read their descriptions carefully including the description of properties.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpMigrateApplication {\n /** List of routes for migration. */\n routes: IHttpMigrateRoute[];\n /** List of errors occurred during the migration. */\n errors: IHttpMigrateApplication.IError[];\n /** Source OpenAPI document. */\n document: () => OpenApi.IDocument;\n}\nexport declare namespace IHttpMigrateApplication {\n /** Error of migration in the operation level. */\n interface IError {\n /** Target operation causing the error. */\n operation: () => OpenApi.IOperation;\n /**\n * Method of the operation.\n *\n * If the {@link OpenApi.IOperation.method} is not one of below type values,\n * the operation would be ignored in the migration process for the RPC\n * (Remote Procedure Call) function.\n */\n method: \"head\" | \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\n /** Original path from the OpenAPI document. */\n path: string;\n /** List of error messages (reasons). */\n messages: string[];\n }\n}\n",
90
87
  "node_modules/@samchon/openapi/lib/structures/IHttpMigrateRoute.d.ts": "import { OpenApi } from \"../OpenApi\";\n/**\n * Route information for migration.\n *\n * The `IHttpMigrateRoute` is a structure representing a route information for\n * OpenAPI generator libraries, which composes an RPC (Remote Procedure Call)\n * function from the {@link OpenApi.IOperation OpenAPI operation}.\n *\n * As the `IHttpMigrateRoute` has a lot of special stories, when you're\n * developing OpenAPI generator library, please read its description carefully\n * including the description of its properties.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpMigrateRoute {\n /**\n * Method of the route.\n *\n * If the {@link OpenApi.IOperation.method} is not one of below type values,\n * the operation would be ignored in the migration process for the RPC (Remote\n * Procedure Call) function.\n */\n method: \"head\" | \"get\" | \"post\" | \"put\" | \"patch\" | \"delete\";\n /** Original path from the OpenAPI document. */\n path: string;\n /**\n * Emended path for OpenAPI generator libraries.\n *\n * The difference between {@link path} is:\n *\n * 1. Path parameters are replaced with `:param` format.\n * 2. Always starts with `/`.\n */\n emendedPath: string;\n /**\n * Accessor for the route.\n *\n * The `accessor` is a list of string values that are representing how to\n * access to the OpenAPI generated RPC (Remote Procedure Call) function\n * through namespace(s).\n *\n * The `accessor` is composed with the following rules. At first, namespaces\n * are composed by static directory names in the {@link path}. Parametric\n * symbols represented by `:param` or `{param}` cannot be a part of the\n * namespace.\n *\n * Instead, they would be a part of the function name. The function name is\n * composed with the {@link method HTTP method} and parametric symbols like\n * `getByParam` or `postByParam`. If there are multiple path parameters, they\n * would be concatenated by `And` like `getByParam1AndParam2`.\n *\n * For refefence, if the {@link operation}'s {@link method} is `delete`, the\n * function name would be replaced to `erase` instead of `delete`. It is the\n * reason why the `delete` is a reserved keyword in many programming\n * languages.\n *\n * - Example 1\n *\n * - Path: `POST /shopping/sellers/sales`\n * - Accessor: `shopping.sellers.sales.post`\n * - Example 2\n *\n * - Endpoint: `GET\n * /shoppings/sellers/sales/:saleId/reviews/:reviewId/comments/:id\n * - Accessor:\n * `shoppings.sellers.sales.reviews.getBySaleIdAndReviewIdAndCommentId`\n */\n accessor: string[];\n /**\n * List of path parameters.\n *\n * Note that, not a list of every parameters, but only path parameters.\n */\n parameters: IHttpMigrateRoute.IParameter[];\n /**\n * Metadata of headers.\n *\n * The `headers` property is a metadata of HTTP request headers for RPC\n * function, including the parameter variable name and schema.\n *\n * Also, its {@link IHttpMigrateRoute.IHeaders.schema} is always object or\n * reference to object. Even though the original\n * {@link OpenApi.IOperation OpenAPI operation}'s headers are separated to\n * atomic typed properties, the `headers` property forcibly combines them into\n * a single object type.\n *\n * For reference, if the `headers` property has been converted to an object\n * type forcibly, its property {@link IHttpMigrateRoute.IHeaders.name name} and\n * {@link IHttpMigrateRoute.IHeaders.key key} are always \"headers\".\n */\n headers: IHttpMigrateRoute.IHeaders | null;\n /**\n * Metadata of query values.\n *\n * The `query` property is a metadata of HTTP request query values for RPC\n * function, including the parameter variable name and schema.\n *\n * Also, its {@link IHttpMigrateRoute.IQuery.schema} is always object or\n * reference to object. Even though the original\n * {@link OpenApi.IOperation OpenAPI operation}'s query parameters are\n * separated to atomic typed properties, the `query` property forcibly\n * combines them into a single object type.\n *\n * For reference, if the `query` property has been converted to an object type\n * forcibly, its property {@link IHttpMigrateRoute.IQuery.name name} and\n * {@link IHttpMigrateRoute.IQuery.key key} are always \"headers\".\n */\n query: IHttpMigrateRoute.IQuery | null;\n /**\n * Metadata of request body.\n *\n * The `body` property is a metadata of HTTP request body for RPC function,\n * including the parameter variable name, content type, and schema.\n *\n * If the `body` property is `null`, it means the operation does not require\n * the request body data.\n */\n body: IHttpMigrateRoute.IBody | null;\n /**\n * Metadata of response body for success case.\n *\n * The `success` property is a metadata of HTTP response body for RPC\n * function, including content type, and schema when status code is `200` or\n * `201`.\n *\n * If the `success` property is `null`, it means the operation does not have\n * the response body data. In other words, the RPC function would return\n * `void`.\n */\n success: IHttpMigrateRoute.ISuccess | null;\n /**\n * Metadata of response body for exceptional status cases.\n *\n * The `exceptions` property is a metadata of HTTP response body for RPC\n * function, including content type, and schema when status code is not `200`\n * or `201`.\n *\n * The key of the `exceptions` property is the status code. It may be a\n * stringified number, but sometimes it could be a string like \"default\",\n * because the OpenAPI document allows the status code to be a string.\n */\n exceptions: Record<string, IHttpMigrateRoute.IException>;\n /**\n * Description comment for the route function.\n *\n * The `comment` is a function returning description comment for the RPC\n * function of OpenAPI generated. The comment is composed with the following\n * rules:\n *\n * 1. Starts from the {@link OpenApi.IOperation.summary} paragraph.\n * 2. The next paragraphs are filled with {@link OpenApi.IOperation.description}.\n * 3. Parameter descriptions are added with `@param` tag.\n * 4. Security requirements are added with `@security` tag.\n * 5. Tag names are added with `@tag` tag.\n * 6. If {@link OpenApi.IOperation.deprecated}, `@deprecated` tag is added.\n */\n comment: () => string;\n /**\n * Original operation from the OpenAPI document.\n *\n * The `operation` is a function returning the original\n * {@link OpenApi.IOperation} from the {@link OpenAPI} document.\n */\n operation: () => OpenApi.IOperation;\n}\nexport declare namespace IHttpMigrateRoute {\n /** Metadata of path parameter. */\n interface IParameter {\n /** Name of the path parameter. */\n name: string;\n /** Key of the path parameter. */\n key: string;\n /** Metadata of path parameter data type. */\n schema: OpenApi.IJsonSchema;\n /**\n * Original parameter info from the OpenAPI document.\n *\n * The `parameter` is a function returning the original\n * {@link OpenApi.IOperation.IParameter} from the {@link OpenAPI} document.\n */\n parameter: () => OpenApi.IOperation.IParameter;\n }\n /** Metadata of headers. */\n interface IHeaders {\n /** Name of the headers parameter. */\n name: string;\n /** Key of the headers parameter. */\n key: string;\n /** Metadata of headers data type. */\n schema: OpenApi.IJsonSchema;\n title: () => string | undefined;\n description: () => string | undefined;\n example: () => any | undefined;\n examples: () => Record<string, any> | undefined;\n }\n /** Metadata of query values. */\n interface IQuery {\n name: string;\n key: string;\n schema: OpenApi.IJsonSchema;\n title: () => string | undefined;\n description: () => string | undefined;\n example: () => any | undefined;\n examples: () => Record<string, any> | undefined;\n }\n /** Metadata of request body. */\n interface IBody {\n /** Name of the body parameter. */\n name: string;\n /** Key of the body parameter. */\n key: string;\n /** Content type of the body. */\n type: \"text/plain\" | \"application/json\" | \"application/x-www-form-urlencoded\" | \"multipart/form-data\";\n /** Metadata of response body data type. */\n schema: OpenApi.IJsonSchema;\n /** Description comment for the request/response body. */\n description: () => string | undefined;\n /** Media type of the request/response body. */\n media: () => OpenApi.IOperation.IMediaType;\n /** Whether the body is encrypted or not. */\n \"x-nestia-encrypted\"?: boolean;\n }\n /** Metadata of response body. */\n interface ISuccess extends IBody {\n /** Status code of the response. */\n status: string;\n }\n /** Metadata of response body for exceptional status cases. */\n interface IException {\n /** Metadata of response body data type. */\n schema: OpenApi.IJsonSchema;\n /** Description comment for the exception. */\n response: () => OpenApi.IOperation.IResponse;\n /** Media type of the response body. */\n media: () => OpenApi.IOperation.IMediaType;\n }\n}\n",
91
88
  "node_modules/@samchon/openapi/lib/structures/IHttpResponse.d.ts": "/**\n * Represents an HTTP response.\n *\n * The `IHttpResponse` interface represents an HTTP response.\n *\n * It contains the {@link status} code, {@link headers}, and {@link body} of the\n * response.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IHttpResponse {\n /** Status code of the response. */\n status: number;\n /** Headers of the response. */\n headers: Record<string, string | string[]>;\n /** Body of the response. */\n body: unknown;\n}\n",
92
- "node_modules/@samchon/openapi/lib/structures/IJsonSchemaAttribute.d.ts": "/**\n * Common attributes for JSON schema types.\n *\n * `IJsonSchemaAttribute` is a common interface for all JSON schema types\n * supported in here `@samchon/openapi`. Here is the list of affected JSON\n * schema types in `@samchon/openapi`, and you can extend the interface by\n * declaring module augmentation.\n *\n * - {@link OpenApi.IJsonSchema}\n * - {@link OpenApiV3_1.IJsonSchema}\n * - {@link OpenApiV3.IJsonSchema}\n * - {@link SwaggerV2.IJsonSchema}\n * - {@link IChatGptSchema}\n * - {@link IClaudeSchema}\n * - {@link IGeminiSchema}\n * - {@link ILlmSchemaV3}\n * - {@link ILlmSchemaV3_1}\n *\n * For example, if you extend the `IJsonSchemaAttribute` interface like below,\n * every JSON schema types in `@samchon/openapi` will have a new custom\n * attribute `x-wrtn-placeholder`.\n *\n * Also, if you augment the nested type like `IJsonSchemaAttribute.IString`, you\n * can add the custom attribute to every string types in the JSON schema. In the\n * below example case, every string types will have a new custom attribute\n * `x-wrtn-secret-key`.\n *\n * ```typescript\n * declare module \"@samchon/openapi\" {\n * export interface IJsonSchemaAttribute {\n * /// Placeholder value for frontend application\n * ///\n * /// Placeholder ia label shown in the input field as a hint.\n * /// For example, when an email input field exists, the label\n * /// value would be \"Insert your email address here\".\n * \"x-wrtn-placeholder\"?: string;\n * }\n * export namespace IJsonSchemaAttribute {\n * export interface IString {\n * /// Secret key for the schema.\n * ///\n * /// `x-wrtn-secret-key` is a property means a secret key\n * /// that is required for the target API endpoint calling.\n * /// If the secret key is not filled, the API call would\n * /// be failed.\n * \"x-wrtn-secret-key\"?: string;\n * }\n * }\n * }\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IJsonSchemaAttribute {\n /** Title of the schema. */\n title?: string;\n /** Detailed description of the schema. */\n description?: string;\n /** Whether the type is deprecated or not. */\n deprecated?: boolean;\n /** Example value. */\n example?: any;\n /** List of example values as key-value pairs. */\n examples?: Record<string, any>;\n}\nexport declare namespace IJsonSchemaAttribute {\n /** Common attributes for boolean types. */\n export interface IBoolean extends ISignificant<\"boolean\"> {\n }\n /** Common attributes for integer types. */\n export interface IInteger extends ISignificant<\"integer\"> {\n }\n /** Common attributes for number types. */\n export interface INumber extends ISignificant<\"number\"> {\n }\n /** Common attributes for string types. */\n export interface IString extends ISignificant<\"string\"> {\n }\n /** Common attributes for object types. */\n export interface IObject extends ISignificant<\"object\"> {\n }\n /** Common attributes for array types. */\n export interface IArray extends ISignificant<\"array\"> {\n }\n /** Common attributes for null types. */\n export interface INull extends ISignificant<\"null\"> {\n }\n /** Common attributes for unknown types. */\n export interface IUnknown extends IJsonSchemaAttribute {\n /** Type is never be defined. */\n type?: undefined;\n }\n /** Significant attributes that can be applied to the most types. */\n interface ISignificant<Type extends string> extends IJsonSchemaAttribute {\n /** Discriminator value of the type. */\n type: Type;\n }\n export {};\n}\n",
93
- "node_modules/@samchon/openapi/lib/structures/ILlamaSchema.d.ts": "import { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * Type schema info of the Llama.\n *\n * `ILlamaSchema` is a type schema info of the Llama function calling.\n *\n * `ILlamaSchema` seems fully supporting the JSON schema definition of the\n * OpenAPI v3.1 specification; {@link OpenApiV3_1.IJsonSchema}. By the way, as\n * the {@link OpenApiV3_1.IJsonSchema} has too much ambiguous and duplicated\n * expressions, `ILlamaSchema` is designed to be clear and simple for the Llama\n * function calling, by utilizing {@link ILlmSchemaV3_1} which has been\n * transformed from the {@link OpenApi.IJsonSchema} for the convenience and\n * clarity.\n *\n * Therefore, `ILlamaSchema` does not follow the entire specification of the\n * OpenAPI v3.1. It has own specific restrictions and definitions. Here is the\n * list of how `ILlmSchemaV3_1` is different with the OpenAPI v3.1 JSON schema.\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Tuple type is banned: {@link OpenApiV3_1.IJsonSchema.ITuple.prefixItems}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link ILlamaSchema.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link ILlamaSchema.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link ILlamaSchema.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * If compare with the {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification,\n *\n * - {@link ILlamaSchema.IParameters.$defs} instead of the\n * {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link ILlamaSchema.properties} and {@link ILlamaSchema.required} are always\n * defined\n *\n * For reference, if you've composed the `ILlamaSchema` type with the\n * {@link ILlamaSchema.IConfig.reference} `false` option (default is `false`),\n * only the recursive named types would be archived into the\n * {@link ILlamaSchema.IParameters.$defs}, and the others would be escaped from\n * the {@link ILlamaSchema.IReference} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://www.llama.com/docs/model-cards-and-prompt-formats/llama3_2\n * @reference https://github.com/ggerganov/llama.cpp/blob/master/examples/json_schema_to_grammar.py\n * @warning Specified not only by the official documentation, but also by my\n * experiments. Therefore, its definitions can be inaccurate or be\n * changed in the future. If you find any wrong or outdated definitions,\n * please let me know by issue.\n */\nexport type ILlamaSchema = ILlamaSchema.IConstant | ILlamaSchema.IBoolean | ILlamaSchema.IInteger | ILlamaSchema.INumber | ILlamaSchema.IString | ILlamaSchema.IArray | ILlamaSchema.IObject | ILlamaSchema.IReference | ILlamaSchema.IOneOf | ILlamaSchema.INull | ILlamaSchema.IUnknown;\nexport declare namespace ILlamaSchema {\n /** Configuration for Llama schema composition. */\n interface IConfig {\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link ILlamaSchema.IReference} would be escaped to a plain\n * type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the large size of\n * LLM model, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `ILlamaSchema.IParameters` is a type defining a function's parameters as a\n * keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters = ILlmSchemaV3_1.IParameters;\n /** Constant value type. */\n type IConstant = ILlmSchemaV3_1.IConstant;\n /** Boolean type info. */\n type IBoolean = ILlmSchemaV3_1.IBoolean;\n /** Integer type info. */\n type IInteger = ILlmSchemaV3_1.IInteger;\n /** Number (double) type info. */\n type INumber = ILlmSchemaV3_1.INumber;\n /** String type info. */\n type IString = ILlmSchemaV3_1.IString;\n /** Array type info. */\n type IArray = ILlmSchemaV3_1.IArray;\n /** Object type info. */\n type IObject = ILlmSchemaV3_1.IObject;\n /** Reference type directing named schema. */\n type IReference = ILlmSchemaV3_1.IReference;\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n type IOneOf = ILlmSchemaV3_1.IOneOf;\n namespace IOneOf {\n /** Discriminator info of the union type. */\n type IDiscriminator = ILlmSchemaV3_1.IOneOf.IDiscriminator;\n }\n /** Null type. */\n type INull = ILlmSchemaV3_1.INull;\n /** Unknown, the `any` type. */\n type IUnknown = ILlmSchemaV3_1.IUnknown;\n}\n",
89
+ "node_modules/@samchon/openapi/lib/structures/IJsonSchemaAttribute.d.ts": "/**\n * Common attributes for JSON schema types.\n *\n * `IJsonSchemaAttribute` is a common interface for all JSON schema types\n * supported in here `@samchon/openapi`. Here is the list of affected JSON\n * schema types in `@samchon/openapi`, and you can extend the interface by\n * declaring module augmentation.\n *\n * - {@link OpenApi.IJsonSchema}\n * - {@link OpenApiV3_1.IJsonSchema}\n * - {@link OpenApiV3.IJsonSchema}\n * - {@link SwaggerV2.IJsonSchema}\n * - {@link IChatGptSchema}\n * - {@link IClaudeSchema}\n * - {@link IGeminiSchema}\n * - {@link ILlmSchemaV3}\n *\n * For example, if you extend the `IJsonSchemaAttribute` interface like below,\n * every JSON schema types in `@samchon/openapi` will have a new custom\n * attribute `x-wrtn-placeholder`.\n *\n * Also, if you augment the nested type like `IJsonSchemaAttribute.IString`, you\n * can add the custom attribute to every string types in the JSON schema. In the\n * below example case, every string types will have a new custom attribute\n * `x-wrtn-secret-key`.\n *\n * ```typescript\n * declare module \"@samchon/openapi\" {\n * export interface IJsonSchemaAttribute {\n * /// Placeholder value for frontend application\n * ///\n * /// Placeholder ia label shown in the input field as a hint.\n * /// For example, when an email input field exists, the label\n * /// value would be \"Insert your email address here\".\n * \"x-wrtn-placeholder\"?: string;\n * }\n * export namespace IJsonSchemaAttribute {\n * export interface IString {\n * /// Secret key for the schema.\n * ///\n * /// `x-wrtn-secret-key` is a property means a secret key\n * /// that is required for the target API endpoint calling.\n * /// If the secret key is not filled, the API call would\n * /// be failed.\n * \"x-wrtn-secret-key\"?: string;\n * }\n * }\n * }\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IJsonSchemaAttribute {\n /** Title of the schema. */\n title?: string;\n /** Detailed description of the schema. */\n description?: string;\n /** Whether the type is deprecated or not. */\n deprecated?: boolean;\n /** Example value. */\n example?: any;\n /** List of example values as key-value pairs. */\n examples?: Record<string, any>;\n}\nexport declare namespace IJsonSchemaAttribute {\n /** Common attributes for boolean types. */\n export interface IBoolean extends ISignificant<\"boolean\"> {\n }\n /** Common attributes for integer types. */\n export interface IInteger extends ISignificant<\"integer\"> {\n }\n /** Common attributes for number types. */\n export interface INumber extends ISignificant<\"number\"> {\n }\n /** Common attributes for string types. */\n export interface IString extends ISignificant<\"string\"> {\n }\n /** Common attributes for object types. */\n export interface IObject extends ISignificant<\"object\"> {\n }\n /** Common attributes for array types. */\n export interface IArray extends ISignificant<\"array\"> {\n }\n /** Common attributes for null types. */\n export interface INull extends ISignificant<\"null\"> {\n }\n /** Common attributes for unknown types. */\n export interface IUnknown extends IJsonSchemaAttribute {\n /** Type is never be defined. */\n type?: undefined;\n }\n /** Significant attributes that can be applied to the most types. */\n interface ISignificant<Type extends string> extends IJsonSchemaAttribute {\n /** Discriminator value of the type. */\n type: Type;\n }\n export {};\n}\n",
94
90
  "node_modules/@samchon/openapi/lib/structures/ILlmApplication.d.ts": "import { ILlmFunction } from \"./ILlmFunction\";\nimport { ILlmSchema } from \"./ILlmSchema\";\nimport { IValidation } from \"./IValidation\";\n/**\n * Application of LLM function calling.\n *\n * `ILlmApplication` is a data structure representing a collection of\n * {@link ILlmFunction LLM function calling schemas}, composed from a native\n * TypeScript class (or interface) type by the `typia.llm.application<App,\n * Model>()` function.\n *\n * Also, there can be some parameters (or their nested properties) which must be\n * composed by Human, not by LLM. File uploading feature or some sensitive\n * information like secret key (password) are the examples. In that case, you\n * can separate the function parameters to both LLM and human sides by\n * configuring the {@link ILlmApplication.IOptions.separate} property. The\n * separated parameters are assigned to the {@link ILlmFunction.separated}\n * property.\n *\n * For reference, when both LLM and Human filled parameter values to call, you\n * can merge them by calling the {@link HttpLlm.mergeParameters} function. In\n * other words, if you've configured the\n * {@link ILlmApplication.IOptions.separate} property, you have to merge the\n * separated parameters before the function call execution.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n */\nexport interface ILlmApplication<Model extends ILlmSchema.Model, Class extends object = any> {\n /** Model of the LLM. */\n model: Model;\n /**\n * List of function metadata.\n *\n * List of function metadata that can be used for the LLM function call.\n */\n functions: ILlmFunction<Model>[];\n /** Configuration for the application. */\n options: ILlmApplication.IOptions<Model, Class>;\n /**\n * Class type, the source of the LLM application.\n *\n * This property is just for the generic type inference, and its value is\n * always `undefined`.\n */\n __class?: Class | undefined;\n}\nexport declare namespace ILlmApplication {\n /** Options for application composition. */\n type IOptions<Model extends ILlmSchema.Model, Class extends object = any> = ILlmSchema.ModelConfig[Model] & {\n /**\n * Separator function for the parameters.\n *\n * When composing parameter arguments through LLM function call, there can\n * be a case that some parameters must be composed by human, or LLM cannot\n * understand the parameter.\n *\n * For example, if the parameter type has configured\n * {@link IGeminiSchema.IString.contentMediaType} which indicates file\n * uploading, it must be composed by human, not by LLM (Large Language\n * Model).\n *\n * In that case, if you configure this property with a function that\n * predicating whether the schema value must be composed by human or not,\n * the parameters would be separated into two parts.\n *\n * - {@link ILlmFunction.separated.llm}\n * - {@link ILlmFunction.separated.human}\n *\n * When writing the function, note that returning value `true` means to be a\n * human composing the value, and `false` means to LLM composing the value.\n * Also, when predicating the schema, it would better to utilize the\n * {@link GeminiTypeChecker} like features.\n *\n * @default null\n * @param schema Schema to be separated.\n * @returns Whether the schema value must be composed by human or not.\n */\n separate?: null | ((schema: ILlmSchema.ModelSchema[Model]) => boolean);\n /**\n * Custom validation functions for specific class methods.\n *\n * The `validate` property allows you to provide custom validation functions\n * that will replace the default validation behavior for specific methods\n * within the application class. When specified, these custom validators\n * take precedence over the standard type validation generated by\n * `typia.llm.application()`.\n *\n * This feature is particularly useful when you need to:\n *\n * - Implement business logic validation beyond type checking\n * - Add custom constraints that cannot be expressed through type annotations\n * - Provide more specific error messages for AI agents\n * - Validate dynamic conditions based on runtime state\n *\n * Each validation function receives the same arguments as its corresponding\n * method and must return an {@link IValidation} result. On validation\n * success, it should return `{ success: true, data }`. On failure, it\n * should return `{ success: false, data, errors }` with detailed error\n * information that helps AI agents understand and correct their mistakes.\n *\n * @default null\n */\n validate?: null | Partial<ILlmApplication.IValidationHook<Class>>;\n };\n /**\n * Type for custom validation function hooks.\n *\n * `IValidationHook` defines the structure for custom validation functions\n * that can be provided for each method in the application class. It creates a\n * mapped type where each property corresponds to a method in the class, and\n * the value is a validation function for that method's parameters.\n *\n * The validation hook functions:\n *\n * - Receive the same argument type as the original method\n * - Must return an {@link IValidation} result indicating success or failure\n * - Replace the default type validation when specified\n * - Enable custom business logic and runtime validation\n *\n * Type constraints:\n *\n * - Only methods (functions) from the class can have validation hooks\n * - Non-function properties are typed as `never` and cannot be validated\n * - The validation function must match the method's parameter signature\n *\n * @template Class The application class type containing methods to validate\n */\n type IValidationHook<Class extends object> = {\n [K in keyof Class]?: Class[K] extends (args: infer Argument) => unknown ? (input: unknown) => IValidation<Argument> : never;\n };\n}\n",
95
91
  "node_modules/@samchon/openapi/lib/structures/ILlmController.d.ts": "import { ILlmApplication } from \"./ILlmApplication\";\nimport { ILlmSchema } from \"./ILlmSchema\";\n/**\n * Controller of LLM function calling.\n *\n * `ILlmController` is a controller of LLM function calling, containing not only\n * the {@link ILlmApplication application} of\n * {@link ILlmFunction function calling schemas}, but also\n * {@link name identifier name} of the application and {@link execute executor} of\n * its TypeScript class/interface functions.\n *\n * Here is an example of using `ILlmController` type for AI agent development of\n * performing AI function calling to mobile API classes/interfaces through\n * `typia` and `@agentica`.\n *\n * ```typescript\n * import { Agentica } from \"@agentica/core\";\n * import typia from \"typia\";\n *\n * const agentica = new Agentica({\n * model: \"chatgpt\",\n * vendor: {\n * api: new OpenAI({ apiKey: \"********\" }),\n * model: \"gpt-4o-mini\",\n * },\n * controllers: [\n * typia.llm.controller<ReactNativeFileSystem, \"chatgpt\">(\n * \"filesystem\",\n * new ReactNativeFileSystem(),\n * ),\n * typia.llm.controller<ReactNativeGallery, \"chatgpt\">(\n * \"gallery\",\n * new ReactNativeGallery(),\n * ),\n * ],\n * });\n * await agentica.conversate(\n * \"Organize photo collection and sort them into appropriate folders.\",\n * );\n * ```\n *\n * For reference, this `ILlmController` type is designed for TypeScript\n * classes/interfaces. If you want to make a controller of another\n * {@link protocol} like HTTP or MCP, use below types instead:\n *\n * - {@link IHttpLlmController} for HTTP\n * - {@link IMcpLlmController} for MCP\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Model Type of the LLM model\n * @template Class Class type of the function executor\n * @reference https://typia.io/docs/llm/controller/\n * @reference https://wrtnlabs.io/agentica/docs/core/controller/typescript/\n */\nexport interface ILlmController<Model extends ILlmSchema.Model, Class extends object = any> {\n /** Protocol discriminator. */\n protocol: \"class\";\n /** Identifier name of the controller. */\n name: string;\n /** Application schema of function calling. */\n application: ILlmApplication<Model, Class>;\n /**\n * Executor of the class function.\n *\n * Executor of the class function, by target class instance.\n */\n execute: Class;\n}\n",
96
92
  "node_modules/@samchon/openapi/lib/structures/ILlmFunction.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IValidation } from \"./IValidation\";\n/**\n * LLM function metadata.\n *\n * `ILlmFunction` is an interface representing a function metadata, which has\n * been used for the LLM (Language Large Model) function calling. Also, it's a\n * function structure containing the function {@link name}, {@link parameters} and\n * {@link output return type}.\n *\n * If you provide this `ILlmFunction` data to the LLM provider like \"OpenAI\",\n * the \"OpenAI\" will compose a function arguments by analyzing conversations\n * with the user. With the LLM composed arguments, you can execute the function\n * and get the result.\n *\n * By the way, do not ensure that LLM will always provide the correct arguments.\n * The LLM of present age is not perfect, so that you would better to validate\n * the arguments before executing the function. I recommend you to validate the\n * arguments before execution by using\n * [`typia`](https://github.com/samchon/typia) library.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Model Type of the LLM model\n * @reference https://platform.openai.com/docs/guides/function-calling\n */\nexport interface ILlmFunction<Model extends ILlmSchema.Model> {\n /**\n * Representative name of the function.\n *\n * @maxLength 64\n */\n name: string;\n /** List of parameter types. */\n parameters: ILlmSchema.ModelParameters[Model];\n /**\n * Collection of separated parameters.\n *\n * Filled only when {@link ILlmApplication.IOptions.separate} is configured.\n */\n separated?: ILlmFunction.ISeparated<Model>;\n /**\n * Expected return type.\n *\n * If the function returns nothing (`void`), the `output` value would be\n * `undefined`.\n */\n output?: ILlmSchema.ModelSchema[Model];\n /**\n * Description of the function.\n *\n * For reference, the `description` is a critical property for teaching the\n * purpose of the function to LLMs (Large Language Models). LLMs use this\n * description to determine which function to call.\n *\n * Also, when the LLM converses with the user, the `description` explains\n * the function to the user. Therefore, the `description` property has the\n * highest priority and should be carefully considered.\n */\n description?: string | undefined;\n /**\n * Whether the function is deprecated or not.\n *\n * If the `deprecated` is `true`, the function is not recommended to use.\n *\n * LLM (Large Language Model) may not use the deprecated function.\n */\n deprecated?: boolean | undefined;\n /**\n * Category tags for the function.\n *\n * You can fill this property by the `@tag ${name}` comment tag.\n */\n tags?: string[] | undefined;\n /**\n * Validate function of the arguments.\n *\n * You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * mistakes when composing arguments in function calling. Even though `number`\n * like simple type is defined in the {@link parameters} schema, LLM often\n * fills it just by a `string` typed value.\n *\n * In that case, you have to give a validation feedback to the LLM by using\n * this `validate` function. The `validate` function will return detailed\n * information about every type errors about the arguments.\n *\n * And in my experience, OpenAI's `gpt-4o-mini` model tends to construct an\n * invalid function calling arguments at the first trial about 50% of the\n * time. However, if correct it through this `validate` function, the success\n * rate soars to 99% at the second trial, and I've never failed at the third\n * trial.\n *\n * > If you've {@link separated} parameters, use the\n * > {@link ILlmFunction.ISeparated.validate} function instead when validating\n * > the LLM composed arguments.\n *\n * > In that case, This `validate` function would be meaningful only when you've\n * > merged the LLM and human composed arguments by\n * > {@link HttpLlm.mergeParameters} function.\n *\n * @param args Arguments to validate\n * @returns Validation result\n */\n validate: (args: unknown) => IValidation<unknown>;\n}\nexport declare namespace ILlmFunction {\n /** Collection of separated parameters. */\n interface ISeparated<Model extends ILlmSchema.Model> {\n /**\n * Parameters that would be composed by the LLM.\n *\n * Even though no property exists in the LLM side, the `llm` property would\n * have at least empty object type.\n */\n llm: ILlmSchema.ModelParameters[Model];\n /** Parameters that would be composed by the human. */\n human: ILlmSchema.ModelParameters[Model] | null;\n /**\n * Validate function of the separated arguments.\n *\n * If LLM part of separated parameters has some properties, this `validate`\n * function will be filled for the {@link llm} type validation.\n *\n * > You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * > mistakes when composing arguments in function calling. Even though\n * > `number` like simple type is defined in the {@link parameters} schema, LLM\n * > often fills it just by a `string` typed value.\n *\n * > In that case, you have to give a validation feedback to the LLM by using\n * > this `validate` function. The `validate` function will return detailed\n * > information about every type errors about the arguments.\n *\n * > And in my experience, OpenAI's `gpt-4o-mini` model tends to construct an\n * > invalid function calling arguments at the first trial about 50% of the\n * > time. However, if correct it through this `validate` function, the\n * > success rate soars to 99% at the second trial, and I've never failed at\n * > the third trial.\n *\n * @param args Arguments to validate\n * @returns Validate result\n */\n validate?: ((args: unknown) => IValidation<unknown>) | undefined;\n }\n}\n",
97
- "node_modules/@samchon/openapi/lib/structures/ILlmSchema.d.ts": "import { IChatGptSchema } from \"./IChatGptSchema\";\nimport { IClaudeSchema } from \"./IClaudeSchema\";\nimport { IDeepSeekSchema } from \"./IDeepSeekSchema\";\nimport { IGeminiSchema } from \"./IGeminiSchema\";\nimport { ILlamaSchema } from \"./ILlamaSchema\";\nimport { ILlmSchemaV3 } from \"./ILlmSchemaV3\";\nimport { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * The schemas for the LLM function calling.\n *\n * `ILlmSchema` is a union type collecting every the schemas for the LLM\n * function calling.\n *\n * Select a proper schema type according to the LLM provider you're using.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Model Type of the LLM model\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\nexport type ILlmSchema<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelSchema[Model];\nexport declare namespace ILlmSchema {\n type Model = \"chatgpt\" | \"claude\" | \"deepseek\" | \"gemini\" | \"llama\" | \"3.0\" | \"3.1\";\n interface ModelConfig {\n chatgpt: IChatGptSchema.IConfig;\n claude: IClaudeSchema.IConfig;\n deepseek: IDeepSeekSchema.IConfig;\n gemini: IGeminiSchema.IConfig;\n llama: ILlamaSchema.IConfig;\n \"3.0\": ILlmSchemaV3.IConfig;\n \"3.1\": ILlmSchemaV3_1.IConfig;\n }\n interface ModelParameters {\n chatgpt: IChatGptSchema.IParameters;\n claude: IClaudeSchema.IParameters;\n deepseek: IDeepSeekSchema.IParameters;\n gemini: IGeminiSchema.IParameters;\n llama: ILlamaSchema.IParameters;\n \"3.0\": ILlmSchemaV3.IParameters;\n \"3.1\": ILlmSchemaV3_1.IParameters;\n }\n interface ModelSchema {\n chatgpt: IChatGptSchema;\n claude: IClaudeSchema;\n deepseek: IDeepSeekSchema;\n gemini: IGeminiSchema;\n llama: ILlamaSchema;\n \"3.0\": ILlmSchemaV3;\n \"3.1\": ILlmSchemaV3_1;\n }\n /**\n * Type of function parameters.\n *\n * `ILlmSchema.IParameters` is a type defining a function's parameters as a\n * keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelParameters[Model];\n /** Configuration for the LLM schema composition. */\n type IConfig<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelConfig[Model];\n}\n",
98
- "node_modules/@samchon/openapi/lib/structures/ILlmSchemaV3.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema based on OpenAPI v3.0 for LLM function calling.\n *\n * `ILlmSchemaV3` is a type metadata for LLM (Large Language Model) function\n * calling, based on the OpenAPI v3.0 specification. This type is not the final\n * type for the LLM function calling, but the intermediate structure for the\n * conversion to the final type like {@link IGeminiSchema}.\n *\n * `ILlmSchemaV3` basically follows the JSON schema definition of OpenAPI v3.0\n * specification; {@link OpenApiV3.IJsonSchema}. However, `ILlmSchemaV3` does not\n * have the reference type; {@link OpenApiV3.IJsonSchema.IReference}. It's\n * because the LLM cannot compose the reference typed arguments. If recursive\n * type comes, its type would be repeated in\n * {@link ILlmSchemaV3.IConfig.recursive} times. Otherwise you've configured it\n * to `false`, the recursive types are not allowed.\n *\n * For reference, the OpenAPI v3.0 based JSON schema definition can't express\n * the tuple array type. It has been supported since OpenAPI v3.1;\n * {@link OpenApi.IJsonSchema.ITuple}. Therefore, it would better to avoid using\n * the tuple array type in the LLM function calling.\n *\n * Also, if you configure {@link ILlmSchemaV3.IConfig.constraint} to `false`,\n * these properties would be banned and written to the\n * {@link ILlmSchemaV3.__IAttribute.description} property instead. It's because\n * there are some LLM models which does not support the constraint properties.\n *\n * - {@link ILlmSchemaV3.INumber.minimum}\n * - {@link ILlmSchemaV3.INumber.maximum}\n * - {@link ILlmSchemaV3.INumber.multipleOf}\n * - {@link ILlmSchemaV3.IString.minLength}\n * - {@link ILlmSchemaV3.IString.maxLength}\n * - {@link ILlmSchemaV3.IString.format}\n * - {@link ILlmSchemaV3.IString.pattern}\n * - {@link ILlmSchemaV3.IString.contentMediaType}\n * - {@link ILlmSchemaV3.IArray.minItems}\n * - {@link ILlmSchemaV3.IArray.maxItems}\n * - {@link ILlmSchemaV3.IArray.unique}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n */\nexport type ILlmSchemaV3 = ILlmSchemaV3.IBoolean | ILlmSchemaV3.IInteger | ILlmSchemaV3.INumber | ILlmSchemaV3.IString | ILlmSchemaV3.IArray | ILlmSchemaV3.IObject | ILlmSchemaV3.IUnknown | ILlmSchemaV3.INullOnly | ILlmSchemaV3.IOneOf;\nexport declare namespace ILlmSchemaV3 {\n /** Configuration for OpenAPI v3.0 based LLM schema composition. */\n interface IConfig {\n /**\n * Whether to allow constraint properties or not.\n *\n * If you configure this property to `false`, the schemas do not contain the\n * constraint properties of below. Instead, below properties would be\n * written to the {@link ILlmSchemaV3.__IAttribute.description} property as a\n * comment string like `\"@format uuid\"`.\n *\n * This is because some LLM schema model like {@link IGeminiSchema} has\n * banned such constraint, because their LLM cannot understand the\n * constraint properties and occur the hallucination.\n *\n * Therefore, considering your LLM model's performance, capability, and the\n * complexity of your parameter types, determine which is better, to allow\n * the constraint properties or not.\n *\n * - {@link ILlmSchemaV3.INumber.minimum}\n * - {@link ILlmSchemaV3.INumber.maximum}\n * - {@link ILlmSchemaV3.INumber.multipleOf}\n * - {@link ILlmSchemaV3.IString.minLength}\n * - {@link ILlmSchemaV3.IString.maxLength}\n * - {@link ILlmSchemaV3.IString.format}\n * - {@link ILlmSchemaV3.IString.pattern}\n * - {@link ILlmSchemaV3.IString.contentMediaType}\n * - {@link ILlmSchemaV3.IString.default}\n * - {@link ILlmSchemaV3.IArray.minItems}\n * - {@link ILlmSchemaV3.IArray.maxItems}\n * - {@link ILlmSchemaV3.IArray.unique}\n *\n * @default true\n */\n constraint: boolean;\n /**\n * Whether to allow recursive types or not.\n *\n * If allow, then how many times to repeat the recursive types.\n *\n * By the way, if the model is \"chatgpt\", the recursive types are always\n * allowed without any limitation, due to it supports the reference type.\n *\n * @default 3\n */\n recursive: false | number;\n }\n /**\n * Type of the function parameters.\n *\n * `ILlmSchemaV3.IParameters` is a type defining a function's parameters as a\n * keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed in the parameters level.\n */\n additionalProperties: false;\n }\n /** Boolean type schema info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Default value. */\n default?: boolean | null;\n /** Enumeration values. */\n enum?: Array<boolean | null>;\n }\n /** Integer type schema info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Default value.\n *\n * @type int64\n */\n default?: number | null;\n /**\n * Enumeration values.\n *\n * @type int64\n */\n enum?: Array<number | null>;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** Number type schema info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Default value. */\n default?: number | null;\n /** Enumeration values. */\n enum?: Array<number | null>;\n /** Minimum value restriction. */\n minimum?: number;\n /** Maximum value restriction. */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** String type schema info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Default value. */\n default?: string | null;\n /** Enumeration values. */\n enum?: Array<string | null>;\n /** Format restriction. */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /** Pattern restriction. */\n pattern?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n /** Content media type restriction. */\n contentMediaType?: string;\n }\n /** Array type schema info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Items type schema info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: ILlmSchemaV3;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Object type schema info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n *\n * If you need additional properties that is represented by dynamic key, you\n * can use the {@link additionalProperties} instead.\n */\n properties: Record<string, ILlmSchemaV3>;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link ILlmSchemaV3} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IOpenAiSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | ILlmSchemaV3;\n }\n /**\n * One of type schema info.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, it has been forcibly converted to `oneOf`\n * type by {@link OpenApi.convert OpenAPI conversion}.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n oneOf: Exclude<ILlmSchemaV3, ILlmSchemaV3.IOneOf>[];\n }\n /** Null only type schema info. */\n interface INullOnly extends IJsonSchemaAttribute.INull {\n /** Default value. */\n default?: null;\n }\n /**\n * Unknown type schema info.\n *\n * It means the type of the value is `any`.\n */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @ignore\n * @deprecated\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /** Discriminator value of the type. */\n type: Type;\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @ignore\n * @deprecated\n */\n type __IAttribute = IJsonSchemaAttribute;\n}\n",
99
- "node_modules/@samchon/openapi/lib/structures/ILlmSchemaV3_1.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema based on OpenAPI v3.1 for LLM function calling.\n *\n * `ILlmSchemaV3_1` is type metadata for LLM (Large Language Model) function\n * calling, based on the OpenAPI v3.1 specification. This type is not the final\n * type for LLM function calling, but an intermediate structure for\n * conversion to the final types:\n *\n * - {@link IChatGptSchema}\n * - {@link IClaudeSchema}\n * - {@link ILlamaSchema}\n *\n * However, `ILlmSchemaV3_1` does not follow the entire OpenAPI v3.1 specification.\n * It has specific restrictions and definitions. Here are the differences between\n * `ILlmSchemaV3_1` and the OpenAPI v3.1 JSON schema:\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link ILlmSchemaV3_1.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link ILlmSchemaV3_1.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link ILlmSchemaV3_1.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * Compared to {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification:\n *\n * - {@link ILlmSchemaV3_1.IParameters.$defs} instead of the\n * {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link ILlmSchemaV3_1.properties} and {@link ILlmSchemaV3_1.required} are\n * always defined\n *\n * For reference, if you've composed the `ILlmSchemaV3_1` type with the\n * {@link ILlmSchemaV3_1.IConfig.reference} `false` option (default is `false`),\n * only the recursived named types would be archived into the\n * {@link ILlmSchemaV3_1.IParameters.$defs}, and the others would be ecaped from\n * the {@link ILlmSchemaV3_1.IReference} type.\n *\n * Also, if you've composed the `ILlmSchemaV3_1` type with the\n * {@link ILlmSchemaV3_1.IConfig.constraint} `false` option (default `false`),\n * the `ILlmSchemaV3_1` would not compose these properties. Instead, these\n * properties would be written on\n * {@link ILlmSchemaV3_1.__IAttribute.descripotion} field like `@format uuid`\n * case.\n *\n * - {@link ILlmSchemaV3_1.INumber.minimum}\n * - {@link ILlmSchemaV3_1.INumber.maximum}\n * - {@link ILlmSchemaV3_1.INumber.multipleOf}\n * - {@link ILlmSchemaV3_1.IString.minLength}\n * - {@link ILlmSchemaV3_1.IString.maxLength}\n * - {@link ILlmSchemaV3_1.IString.format}\n * - {@link ILlmSchemaV3_1.IString.pattern}\n * - {@link ILlmSchemaV3_1.IString.contentMediaType}\n * - {@link ILlmSchemaV3_1.IArray.minItems}\n * - {@link ILlmSchemaV3_1.IArray.maxItems}\n * - {@link ILlmSchemaV3_1.IArray.unique}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\nexport type ILlmSchemaV3_1 = ILlmSchemaV3_1.IConstant | ILlmSchemaV3_1.IBoolean | ILlmSchemaV3_1.IInteger | ILlmSchemaV3_1.INumber | ILlmSchemaV3_1.IString | ILlmSchemaV3_1.IArray | ILlmSchemaV3_1.IObject | ILlmSchemaV3_1.IReference | ILlmSchemaV3_1.IOneOf | ILlmSchemaV3_1.INull | ILlmSchemaV3_1.IUnknown;\nexport declare namespace ILlmSchemaV3_1 {\n /** Configuration for OpenAPI v3.1 based LLM schema composition. */\n interface IConfig {\n /**\n * Whether to allow constraint properties or not.\n *\n * If you configure this property to `false`, the schemas do not contain the\n * constraint properties of below. Instead, below properties would be\n * written to the {@link ILlmSchemaV3_1.__IAttribute.description} property as\n * a comment string like `\"@format uuid\"`.\n *\n * This is because some LLM schema model like {@link IChatGptSchema} has\n * banned such constraint, because their LLM cannot understand the\n * constraint properties and occur the hallucination.\n *\n * Therefore, considering your LLM model's performance, capability, and the\n * complexity of your parameter types, determine which is better, to allow\n * the constraint properties or not.\n *\n * - {@link ILlmSchemaV3_1.INumber.minimum}\n * - {@link ILlmSchemaV3_1.INumber.maximum}\n * - {@link ILlmSchemaV3_1.INumber.multipleOf}\n * - {@link ILlmSchemaV3_1.IString.minLength}\n * - {@link ILlmSchemaV3_1.IString.maxLength}\n * - {@link ILlmSchemaV3_1.IString.format}\n * - {@link ILlmSchemaV3_1.IString.pattern}\n * - {@link ILlmSchemaV3_1.IString.contentMediaType}\n * - {@link ILlmSchemaV3_1.IString.default}\n * - {@link ILlmSchemaV3_1.IArray.minItems}\n * - {@link ILlmSchemaV3_1.IArray.maxItems}\n * - {@link ILlmSchemaV3_1.IArray.unique}\n *\n * @default true\n */\n constraint: boolean;\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link ILlmSchemaV3_1.IReference} would be escaped to a\n * plain type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the large size of\n * LLM model, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `ILlmSchemaV3_1.IParameters` is a type defining a function's parameters as\n * a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /** Collection of the named types. */\n $defs: Record<string, ILlmSchemaV3_1>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed in the parameters level.\n */\n additionalProperties: false;\n }\n /** Constant value type. */\n interface IConstant extends IJsonSchemaAttribute {\n /** The constant value. */\n const: boolean | number | string;\n }\n /** Boolean type info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** The default value. */\n default?: boolean;\n }\n /** Integer type info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /**\n * Default value.\n *\n * @type int64\n */\n default?: number;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** Number (double) type info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Default value. */\n default?: number;\n /** Minimum value restriction. */\n minimum?: number;\n /** Maximum value restriction. */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** String type info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Default value. */\n default?: string;\n /** Format restriction. */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /** Pattern restriction. */\n pattern?: string;\n /** Content media type restriction. */\n contentMediaType?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n }\n /** Array type info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: ILlmSchemaV3_1;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Object type info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n *\n * If you need additional properties that is represented by dynamic key, you\n * can use the {@link additionalProperties} instead.\n */\n properties: Record<string, ILlmSchemaV3_1>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link IOpenAiSchema} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IOpenAiSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | ILlmSchemaV3_1;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /** Reference type directing named schema. */\n interface IReference extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `ref` is a reference to the named schema. Format of the `$ref` is\n * following the JSON Pointer specification. In the OpenAPI, the `$ref`\n * starts with `#/$defs/` which means the type is stored in the\n * {@link ILlmSchemaV3_1.IParameters.$defs} object.\n *\n * - `#/$defs/SomeObject`\n * - `#/$defs/AnotherObject`\n */\n $ref: string;\n }\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n oneOf: Exclude<ILlmSchemaV3_1, ILlmSchemaV3_1.IOneOf>[];\n /** Discriminator info of the union type. */\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n /** Discriminator info of the union type. */\n interface IDiscriminator {\n /** Property name for the discriminator. */\n propertyName: string;\n /**\n * Mapping of the discriminator value to the schema name.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\n * discriminator value, and `value` of `mapping` is the schema name like\n * `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /** Null type. */\n interface INull extends IJsonSchemaAttribute.INull {\n /** Default value. */\n default?: null;\n }\n /** Unknown, the `any` type. */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n /**\n * Significant attributes that can be applied to the most types.\n *\n * @ignore\n * @deprecated\n */\n interface __ISignificant<Type extends string> extends __IAttribute {\n /** Discriminator value of the type. */\n type: Type;\n }\n /**\n * Common attributes that can be applied to all types.\n *\n * @ignore\n * @deprecated\n */\n type __IAttribute = IJsonSchemaAttribute;\n}\n",
93
+ "node_modules/@samchon/openapi/lib/structures/ILlmSchema.d.ts": "import { IChatGptSchema } from \"./IChatGptSchema\";\nimport { IClaudeSchema } from \"./IClaudeSchema\";\nimport { IGeminiSchema } from \"./IGeminiSchema\";\nimport { ILlmSchemaV3 } from \"./ILlmSchemaV3\";\nimport { ILlmSchemaV3_1 } from \"./ILlmSchemaV3_1\";\n/**\n * The schemas for the LLM function calling.\n *\n * `ILlmSchema` is a union type collecting every schema for LLM function calling.\n * Select a proper schema type according to the LLM provider you're using.\n *\n * {@link IChatGptSchema} is designed for OpenAI models. It is fully compatible\n * with OpenAI's strict mode, handling its restrictions by utilizing JSDoc tags\n * in the `description` property to support full JSON schema specifications\n * despite OpenAI's constraints.\n *\n * {@link IClaudeSchema} is the most recommended option as it most closely follows\n * the JSON schema standard with the most concise types and accurate expressions.\n * Claude has no JSON schema specification restrictions, making it ideal when\n * you're unsure about your AI model's requirements.\n *\n * {@link IGeminiSchema} is implemented according to the Gemini guide documentation.\n * Prior to November 2025, it had severe limitations, but now supports nearly all\n * JSON schema specifications.\n *\n * {@link ILlmSchemaV3} and {@link ILlmSchemaV3_1} are middle layer schemas for\n * advanced users who need direct control over OpenAPI v3.0 or v3.1 specifications.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Model Type of the LLM model\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\nexport type ILlmSchema<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelSchema[Model];\nexport declare namespace ILlmSchema {\n type Model = \"chatgpt\" | \"claude\" | \"gemini\" | \"3.0\" | \"3.1\";\n interface ModelConfig {\n chatgpt: IChatGptSchema.IConfig;\n claude: IClaudeSchema.IConfig;\n gemini: IGeminiSchema.IConfig;\n \"3.0\": ILlmSchemaV3.IConfig;\n \"3.1\": ILlmSchemaV3_1.IConfig;\n }\n interface ModelParameters {\n chatgpt: IChatGptSchema.IParameters;\n claude: IClaudeSchema.IParameters;\n gemini: IGeminiSchema.IParameters;\n \"3.0\": ILlmSchemaV3.IParameters;\n \"3.1\": ILlmSchemaV3_1.IParameters;\n }\n interface ModelSchema {\n chatgpt: IChatGptSchema;\n claude: IClaudeSchema;\n gemini: IGeminiSchema;\n \"3.0\": ILlmSchemaV3;\n \"3.1\": ILlmSchemaV3_1;\n }\n /**\n * Type of function parameters.\n *\n * `ILlmSchema.IParameters` is a type defining a function's parameters as a\n * keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n type IParameters<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelParameters[Model];\n /** Configuration for the LLM schema composition. */\n type IConfig<Model extends ILlmSchema.Model = ILlmSchema.Model> = ILlmSchema.ModelConfig[Model];\n}\n",
94
+ "node_modules/@samchon/openapi/lib/structures/ILlmSchemaV3.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema based on OpenAPI v3.0 for LLM function calling.\n *\n * `ILlmSchemaV3` is a type metadata for LLM (Large Language Model) function\n * calling, based on the OpenAPI v3.0 specification. This type is not the final\n * type for the LLM function calling, but the intermediate structure for the\n * conversion to the final type like {@link IGeminiSchema}.\n *\n * `ILlmSchemaV3` basically follows the JSON schema definition of OpenAPI v3.0\n * specification; {@link OpenApiV3.IJsonSchema}. However, `ILlmSchemaV3` does not\n * have the reference type; {@link OpenApiV3.IJsonSchema.IReference}. It's\n * because the LLM cannot compose the reference typed arguments. If recursive\n * type comes, its type would be repeated in\n * {@link ILlmSchemaV3.IConfig.recursive} times. Otherwise you've configured it\n * to `false`, the recursive types are not allowed.\n *\n * For reference, the OpenAPI v3.0 based JSON schema definition can't express\n * the tuple array type. It has been supported since OpenAPI v3.1;\n * {@link OpenApi.IJsonSchema.ITuple}. Therefore, it would better to avoid using\n * the tuple array type in the LLM function calling.\n *\n * Also, if you configure {@link ILlmSchemaV3.IConfig.constraint} to `false`,\n * these properties would be banned and written to the\n * {@link ILlmSchemaV3.__IAttribute.description} property instead. It's because\n * there are some LLM models which does not support the constraint properties.\n *\n * - {@link ILlmSchemaV3.INumber.minimum}\n * - {@link ILlmSchemaV3.INumber.maximum}\n * - {@link ILlmSchemaV3.INumber.multipleOf}\n * - {@link ILlmSchemaV3.IString.minLength}\n * - {@link ILlmSchemaV3.IString.maxLength}\n * - {@link ILlmSchemaV3.IString.format}\n * - {@link ILlmSchemaV3.IString.pattern}\n * - {@link ILlmSchemaV3.IString.contentMediaType}\n * - {@link ILlmSchemaV3.IArray.minItems}\n * - {@link ILlmSchemaV3.IArray.maxItems}\n * - {@link ILlmSchemaV3.IArray.unique}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n */\nexport type ILlmSchemaV3 = ILlmSchemaV3.IBoolean | ILlmSchemaV3.IInteger | ILlmSchemaV3.INumber | ILlmSchemaV3.IString | ILlmSchemaV3.IArray | ILlmSchemaV3.IObject | ILlmSchemaV3.IUnknown | ILlmSchemaV3.INullOnly | ILlmSchemaV3.IOneOf;\nexport declare namespace ILlmSchemaV3 {\n /** Configuration for OpenAPI v3.0 based LLM schema composition. */\n interface IConfig {\n /**\n * Whether to allow constraint properties or not.\n *\n * If you configure this property to `false`, the schemas do not contain the\n * constraint properties of below. Instead, below properties would be\n * written to the {@link ILlmSchemaV3.__IAttribute.description} property as a\n * comment string like `\"@format uuid\"`.\n *\n * This is because some LLM schema model like {@link IGeminiSchema} has\n * banned such constraint, because their LLM cannot understand the\n * constraint properties and occur the hallucination.\n *\n * Therefore, considering your LLM model's performance, capability, and the\n * complexity of your parameter types, determine which is better, to allow\n * the constraint properties or not.\n *\n * - {@link ILlmSchemaV3.INumber.minimum}\n * - {@link ILlmSchemaV3.INumber.maximum}\n * - {@link ILlmSchemaV3.INumber.multipleOf}\n * - {@link ILlmSchemaV3.IString.minLength}\n * - {@link ILlmSchemaV3.IString.maxLength}\n * - {@link ILlmSchemaV3.IString.format}\n * - {@link ILlmSchemaV3.IString.pattern}\n * - {@link ILlmSchemaV3.IString.contentMediaType}\n * - {@link ILlmSchemaV3.IString.default}\n * - {@link ILlmSchemaV3.IArray.minItems}\n * - {@link ILlmSchemaV3.IArray.maxItems}\n * - {@link ILlmSchemaV3.IArray.unique}\n *\n * @default true\n */\n constraint: boolean;\n /**\n * Whether to allow recursive types or not.\n *\n * If allow, then how many times to repeat the recursive types.\n *\n * By the way, if the model is \"chatgpt\", the recursive types are always\n * allowed without any limitation, due to it supports the reference type.\n *\n * @default 3\n */\n recursive: false | number;\n }\n /**\n * Type of the function parameters.\n *\n * `ILlmSchemaV3.IParameters` is a type defining a function's parameters as a\n * keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed in the parameters level.\n */\n additionalProperties: false;\n }\n /** Boolean type schema info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Default value. */\n default?: boolean | null;\n /** Enumeration values. */\n enum?: Array<boolean | null>;\n }\n /** Integer type schema info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Default value.\n *\n * @type int64\n */\n default?: number | null;\n /**\n * Enumeration values.\n *\n * @type int64\n */\n enum?: Array<number | null>;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** Number type schema info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Default value. */\n default?: number | null;\n /** Enumeration values. */\n enum?: Array<number | null>;\n /** Minimum value restriction. */\n minimum?: number;\n /** Maximum value restriction. */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** String type schema info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /** Default value. */\n default?: string | null;\n /** Enumeration values. */\n enum?: Array<string | null>;\n /** Format restriction. */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /** Pattern restriction. */\n pattern?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n /** Content media type restriction. */\n contentMediaType?: string;\n }\n /** Array type schema info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Items type schema info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: ILlmSchemaV3;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Object type schema info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /** Whether to allow `null` value or not. */\n nullable?: boolean;\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n *\n * If you need additional properties that is represented by dynamic key, you\n * can use the {@link additionalProperties} instead.\n */\n properties: Record<string, ILlmSchemaV3>;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link ILlmSchemaV3} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `IOpenAiSchema`: `Record<string, T>`\n */\n additionalProperties?: boolean | ILlmSchemaV3;\n }\n /**\n * One of type schema info.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, it has been forcibly converted to `oneOf`\n * type by {@link OpenApi.convert OpenAPI conversion}.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n oneOf: Exclude<ILlmSchemaV3, ILlmSchemaV3.IOneOf>[];\n }\n /** Null only type schema info. */\n interface INullOnly extends IJsonSchemaAttribute.INull {\n /** Default value. */\n default?: null;\n }\n /**\n * Unknown type schema info.\n *\n * It means the type of the value is `any`.\n */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n}\n",
95
+ "node_modules/@samchon/openapi/lib/structures/ILlmSchemaV3_1.d.ts": "import { IJsonSchemaAttribute } from \"./IJsonSchemaAttribute\";\n/**\n * Type schema based on OpenAPI v3.1 for LLM function calling.\n *\n * `ILlmSchemaV3_1` is type metadata for LLM (Large Language Model) function\n * calling, based on the OpenAPI v3.1 specification. This type is not the final\n * type for LLM function calling, but an intermediate structure for conversion\n * to the final types:\n *\n * - {@link IChatGptSchema}\n * - {@link IClaudeSchema}\n * - {@link ILlamaSchema}\n *\n * However, `ILlmSchemaV3_1` does not follow the entire OpenAPI v3.1\n * specification. It has specific restrictions and definitions. Here are the\n * differences between `ILlmSchemaV3_1` and the OpenAPI v3.1 JSON schema:\n *\n * - Decompose mixed type: {@link OpenApiV3_1.IJsonSchema.IMixed}\n * - Resolve nullable property:\n * {@link OpenApiV3_1.IJsonSchema.__ISignificant.nullable}\n * - Constant type is banned: {@link OpenApiV3_1.IJsonSchema.IConstant}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAnyOf} to {@link ILlmSchemaV3_1.IOneOf}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IAllOf} to {@link ILlmSchemaV3_1.IObject}\n * - Merge {@link OpenApiV3_1.IJsonSchema.IRecursiveReference} to\n * {@link ILlmSchemaV3_1.IReference}\n * - Do not support {@link OpenApiV3_1.IJsonSchema.ITuple} type\n *\n * Compared to {@link OpenApi.IJsonSchema}, the emended JSON schema\n * specification:\n *\n * - {@link ILlmSchemaV3_1.IParameters.$defs} instead of the\n * {@link OpenApi.IJsonSchema.schemas}\n * - Do not support {@link OpenApi.IJsonSchema.ITuple} type\n * - {@link ILlmSchemaV3_1.properties} and {@link ILlmSchemaV3_1.required} are\n * always defined\n *\n * For reference, if you've composed the `ILlmSchemaV3_1` type with the\n * {@link ILlmSchemaV3_1.IConfig.reference} `false` option (default is `false`),\n * only the recursived named types would be archived into the\n * {@link ILlmSchemaV3_1.IParameters.$defs}, and the others would be ecaped from\n * the {@link ILlmSchemaV3_1.IReference} type.\n *\n * Also, if you've composed the `ILlmSchemaV3_1` type with the\n * {@link ILlmSchemaV3_1.IConfig.constraint} `false` option (default `false`),\n * the `ILlmSchemaV3_1` would not compose these properties. Instead, these\n * properties would be written on\n * {@link ILlmSchemaV3_1.__IAttribute.descripotion} field like `@format uuid`\n * case.\n *\n * - {@link ILlmSchemaV3_1.INumber.minimum}\n * - {@link ILlmSchemaV3_1.INumber.maximum}\n * - {@link ILlmSchemaV3_1.INumber.multipleOf}\n * - {@link ILlmSchemaV3_1.IString.minLength}\n * - {@link ILlmSchemaV3_1.IString.maxLength}\n * - {@link ILlmSchemaV3_1.IString.format}\n * - {@link ILlmSchemaV3_1.IString.pattern}\n * - {@link ILlmSchemaV3_1.IString.contentMediaType}\n * - {@link ILlmSchemaV3_1.IArray.minItems}\n * - {@link ILlmSchemaV3_1.IArray.maxItems}\n * - {@link ILlmSchemaV3_1.IArray.unique}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\nexport type ILlmSchemaV3_1 = ILlmSchemaV3_1.IConstant | ILlmSchemaV3_1.IBoolean | ILlmSchemaV3_1.IInteger | ILlmSchemaV3_1.INumber | ILlmSchemaV3_1.IString | ILlmSchemaV3_1.IArray | ILlmSchemaV3_1.IObject | ILlmSchemaV3_1.IReference | ILlmSchemaV3_1.IOneOf | ILlmSchemaV3_1.INull | ILlmSchemaV3_1.IUnknown;\nexport declare namespace ILlmSchemaV3_1 {\n /** Configuration for OpenAPI v3.1 based LLM schema composition. */\n interface IConfig {\n /**\n * Whether to allow constraint properties or not.\n *\n * If you configure this property to `false`, the schemas do not contain the\n * constraint properties of below. Instead, below properties would be\n * written to the {@link ILlmSchemaV3_1.__IAttribute.description} property as\n * a comment string like `\"@format uuid\"`.\n *\n * This is because some LLM schema model like {@link IChatGptSchema} has\n * banned such constraint, because their LLM cannot understand the\n * constraint properties and occur the hallucination.\n *\n * Therefore, considering your LLM model's performance, capability, and the\n * complexity of your parameter types, determine which is better, to allow\n * the constraint properties or not.\n *\n * - {@link ILlmSchemaV3_1.INumber.minimum}\n * - {@link ILlmSchemaV3_1.INumber.maximum}\n * - {@link ILlmSchemaV3_1.INumber.multipleOf}\n * - {@link ILlmSchemaV3_1.IString.minLength}\n * - {@link ILlmSchemaV3_1.IString.maxLength}\n * - {@link ILlmSchemaV3_1.IString.format}\n * - {@link ILlmSchemaV3_1.IString.pattern}\n * - {@link ILlmSchemaV3_1.IString.contentMediaType}\n * - {@link ILlmSchemaV3_1.IString.default}\n * - {@link ILlmSchemaV3_1.IArray.minItems}\n * - {@link ILlmSchemaV3_1.IArray.maxItems}\n * - {@link ILlmSchemaV3_1.IArray.unique}\n *\n * @default true\n */\n constraint: boolean;\n /**\n * Whether to allow reference type in everywhere.\n *\n * If you configure this property to `false`, most of reference types\n * represented by {@link ILlmSchemaV3_1.IReference} would be escaped to a\n * plain type unless recursive type case.\n *\n * This is because some low sized LLM models does not understand the\n * reference type well, and even the large size LLM models sometimes occur\n * the hallucination.\n *\n * However, the reference type makes the schema size smaller, so that\n * reduces the LLM token cost. Therefore, if you're using the large size of\n * LLM model, and want to reduce the LLM token cost, you can configure this\n * property to `true`.\n *\n * @default true\n */\n reference: boolean;\n }\n /**\n * Type of the function parameters.\n *\n * `ILlmSchemaV3_1.IParameters` is a type defining a function's parameters as\n * a keyworded object type.\n *\n * It also can be utilized for the structured output metadata.\n *\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\n interface IParameters extends Omit<IObject, \"additionalProperties\"> {\n /** Collection of the named types. */\n $defs: Record<string, ILlmSchemaV3_1>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * By the way, it is not allowed in the parameters level.\n */\n additionalProperties: false;\n }\n /** Constant value type. */\n interface IConstant extends IJsonSchemaAttribute {\n /** The constant value. */\n const: boolean | number | string;\n }\n /** Boolean type info. */\n interface IBoolean extends IJsonSchemaAttribute.IBoolean {\n /** The default value. */\n default?: boolean;\n }\n /** Integer type info. */\n interface IInteger extends IJsonSchemaAttribute.IInteger {\n /**\n * Default value.\n *\n * @type int64\n */\n default?: number;\n /**\n * Minimum value restriction.\n *\n * @type int64\n */\n minimum?: number;\n /**\n * Maximum value restriction.\n *\n * @type int64\n */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @type uint64\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** Number (double) type info. */\n interface INumber extends IJsonSchemaAttribute.INumber {\n /** Default value. */\n default?: number;\n /** Minimum value restriction. */\n minimum?: number;\n /** Maximum value restriction. */\n maximum?: number;\n /** Exclusive minimum value restriction. */\n exclusiveMinimum?: number;\n /** Exclusive maximum value restriction. */\n exclusiveMaximum?: number;\n /**\n * Multiple of value restriction.\n *\n * @exclusiveMinimum 0\n */\n multipleOf?: number;\n }\n /** String type info. */\n interface IString extends IJsonSchemaAttribute.IString {\n /** Default value. */\n default?: string;\n /** Format restriction. */\n format?: \"binary\" | \"byte\" | \"password\" | \"regex\" | \"uuid\" | \"email\" | \"hostname\" | \"idn-email\" | \"idn-hostname\" | \"iri\" | \"iri-reference\" | \"ipv4\" | \"ipv6\" | \"uri\" | \"uri-reference\" | \"uri-template\" | \"url\" | \"date-time\" | \"date\" | \"time\" | \"duration\" | \"json-pointer\" | \"relative-json-pointer\" | (string & {});\n /** Pattern restriction. */\n pattern?: string;\n /** Content media type restriction. */\n contentMediaType?: string;\n /**\n * Minimum length restriction.\n *\n * @type uint64\n */\n minLength?: number;\n /**\n * Maximum length restriction.\n *\n * @type uint64\n */\n maxLength?: number;\n }\n /** Array type info. */\n interface IArray extends IJsonSchemaAttribute.IArray {\n /**\n * Items type info.\n *\n * The `items` means the type of the array elements. In other words, it is\n * the type schema info of the `T` in the TypeScript array type `Array<T>`.\n */\n items: ILlmSchemaV3_1;\n /**\n * Unique items restriction.\n *\n * If this property value is `true`, target array must have unique items.\n */\n uniqueItems?: boolean;\n /**\n * Minimum items restriction.\n *\n * Restriction of minimum number of items in the array.\n *\n * @type uint64\n */\n minItems?: number;\n /**\n * Maximum items restriction.\n *\n * Restriction of maximum number of items in the array.\n *\n * @type uint64\n */\n maxItems?: number;\n }\n /** Object type info. */\n interface IObject extends IJsonSchemaAttribute.IObject {\n /**\n * Properties of the object.\n *\n * The `properties` means a list of key-value pairs of the object's regular\n * properties. The key is the name of the regular property, and the value is\n * the type schema info.\n *\n * If you need additional properties that is represented by dynamic key, you\n * can use the {@link additionalProperties} instead.\n */\n properties: Record<string, ILlmSchemaV3_1>;\n /**\n * Additional properties' info.\n *\n * The `additionalProperties` means the type schema info of the additional\n * properties that are not listed in the {@link properties}.\n *\n * If the value is `true`, it means that the additional properties are not\n * restricted. They can be any type. Otherwise, if the value is\n * {@link ILlmSchemaV3_1} type, it means that the additional properties must\n * follow the type schema info.\n *\n * - `true`: `Record<string, any>`\n * - `ILlmSchemaV3_1`: `Record<string, T>`\n */\n additionalProperties?: boolean | ILlmSchemaV3_1;\n /**\n * List of key values of the required properties.\n *\n * The `required` means a list of the key values of the required\n * {@link properties}. If some property key is not listed in the `required`\n * list, it means that property is optional. Otherwise some property key\n * exists in the `required` list, it means that the property must be\n * filled.\n *\n * Below is an example of the {@link properties} and `required`.\n *\n * ```typescript\n * interface SomeObject {\n * id: string;\n * email: string;\n * name?: string;\n * }\n * ```\n *\n * As you can see, `id` and `email` {@link properties} are {@link required},\n * so that they are listed in the `required` list.\n *\n * ```json\n * {\n * \"type\": \"object\",\n * \"properties\": {\n * \"id\": { \"type\": \"string\" },\n * \"email\": { \"type\": \"string\" },\n * \"name\": { \"type\": \"string\" }\n * },\n * \"required\": [\"id\", \"email\"]\n * }\n * ```\n */\n required: string[];\n }\n /** Reference type directing named schema. */\n interface IReference extends IJsonSchemaAttribute {\n /**\n * Reference to the named schema.\n *\n * The `ref` is a reference to the named schema. Format of the `$ref` is\n * following the JSON Pointer specification. In the OpenAPI, the `$ref`\n * starts with `#/$defs/` which means the type is stored in the\n * {@link ILlmSchemaV3_1.IParameters.$defs} object.\n *\n * - `#/$defs/SomeObject`\n * - `#/$defs/AnotherObject`\n */\n $ref: string;\n }\n /**\n * Union type.\n *\n * `IOneOf` represents an union type of the TypeScript (`A | B | C`).\n *\n * For reference, even though your Swagger (or OpenAPI) document has defined\n * `anyOf` instead of the `oneOf`, {@link OpenApi} forcibly converts it to\n * `oneOf` type.\n */\n interface IOneOf extends IJsonSchemaAttribute {\n /** List of the union types. */\n oneOf: Exclude<ILlmSchemaV3_1, ILlmSchemaV3_1.IOneOf>[];\n /** Discriminator info of the union type. */\n discriminator?: IOneOf.IDiscriminator;\n }\n namespace IOneOf {\n /** Discriminator info of the union type. */\n interface IDiscriminator {\n /** Property name for the discriminator. */\n propertyName: string;\n /**\n * Mapping of the discriminator value to the schema name.\n *\n * This property is valid only for {@link IReference} typed\n * {@link IOneOf.oneof} elements. Therefore, `key` of `mapping` is the\n * discriminator value, and `value` of `mapping` is the schema name like\n * `#/components/schemas/SomeObject`.\n */\n mapping?: Record<string, string>;\n }\n }\n /** Null type. */\n interface INull extends IJsonSchemaAttribute.INull {\n /** Default value. */\n default?: null;\n }\n /** Unknown, the `any` type. */\n interface IUnknown extends IJsonSchemaAttribute.IUnknown {\n }\n}\n",
100
96
  "node_modules/@samchon/openapi/lib/structures/IMcpLlmApplication.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IMcpLlmFunction } from \"./IMcpLlmFunction\";\n/**\n * Application of LLM function call from MCP document.\n *\n * `IMcpLlmApplication` is an interface representing a collection of\n * {@link IMcpLlmFunction LLM function calling schemas} composed from the MCP\n * (Model Context Protocol) document. It contains\n * {@link IMcpLlmApplication.errors failed functions}, and adjusted\n * {@link IMcpLlmApplication.options options} during the `IMcpLlmApplication`\n * construction.\n *\n * About each function of MCP server, there can be {@link errors} during the\n * composition, if the target {@link model} does not support the function's\n * {@link IMcpLlmFunction.parameters} type. For example, Google Gemini model does\n * not support union type, so that the function containing the union type would\n * be placed into the {@link errors} list instead of {@link functions}.\n *\n * Also, each function has its own {@link IMcpLlmFunction.validate} function for\n * correcting AI agent's mistakes, and this is the reason why `@samchon/openapi`\n * recommends not to use the\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property of LLM API directly, but to use the function calling feature\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @author Byeongjin Oh - https://github.com/sunrabbit123\n */\nexport interface IMcpLlmApplication<Model extends ILlmSchema.Model> {\n /** Model of the target LLM. */\n model: Model;\n /**\n * List of function metadata.\n *\n * List of function metadata that can be used for the LLM function call.\n */\n functions: IMcpLlmFunction<Model>[];\n /** List of errors occurred during the composition. */\n errors: IMcpLlmApplication.IError[];\n /** Configuration for the application. */\n options: IMcpLlmApplication.IOptions<Model>;\n}\nexport declare namespace IMcpLlmApplication {\n /** Options for the HTTP LLM application schema composition. */\n type IOptions<Model extends ILlmSchema.Model> = ILlmSchema.ModelConfig[Model] & {\n /**\n * Maximum length of function name.\n *\n * When a function name is longer than this value, it will be truncated.\n *\n * If not possible to truncate due to the duplication, the function name\n * would be modified to randomly generated (UUID v4).\n *\n * @default 64\n */\n maxLength?: number;\n /** Whether to disallow superfluous properties or not. */\n equals?: boolean;\n };\n /** Error occurred in the composition. */\n interface IError {\n /** Name of the failed function. */\n name: string;\n /** Description of the failed function. */\n description?: string | undefined;\n /** Parameters of the function. */\n parameters: object;\n /**\n * Error messages.\n *\n * The reason why the function is failed to be convert.\n */\n messages: string[];\n }\n}\n",
101
97
  "node_modules/@samchon/openapi/lib/structures/IMcpLlmController.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IMcpLlmApplication } from \"./IMcpLlmApplication\";\n\n/**\n * Controller of MCP function calling.\n *\n * `IMcpLlmController` is a controller of MCP function calling, containing not\n * only the {@link IMcpLlmApplication application} of\n * {@link IMcpLlmFunction function calling schemas}, but also\n * {@link name identifier name} of the application and {@link execute executor} of\n * MCP functions.\n *\n * Here is an example of using `IMcpLlmController` type for AI agent development\n * of performing AI function calling to e-commerce API functions through\n * `@agentica`.\n *\n * ```typescript\n * import { Agentica, assertMcpController } from \"@wrtnlabs/agentica\";\n * import { StdioClientTransport } from \"@modelcontextprotocol/sdk/client/stdio.js\";\n * import { Client } from \"@modelcontextprotocol/sdk/client/index.js\";\n *\n * const client = new Client({\n * name: \"calculator\",\n * version: \"1.0.0\",\n * });\n * await client.connect(new StdioClientTransport({\n * command: \"npx\",\n * args: [\"-y\", \"@modelcontextprotocol/server-github\"],\n * env: {\n * GITHUB_PERSONAL_ACCESS_TOKEN: process.env.GITHUB_PERSONAL_ACCESS_TOKEN,\n * // Add other environment variables as needed\n * }\n * }));\n *\n * const agent = new Agentica({\n * model: \"chatgpt\",\n * vendor: {\n * api: new OpenAI({ apiKey: \"*****\"})\n * model: \"gpt-4o-mini\"\n * },\n * controllers: [\n * await assertMcpController({\n * name: \"calculator\",\n * model: \"chatgpt\",\n * client,\n * }),\n * ],\n * });\n * await agent.conversate(\"What can you do?\");\n * ```\n *\n * For reference, this `IMcpLlmController` type is designed for MCP servers. If\n * you want to make a controller of another {@link protocol} like HTTP or\n * TypeScript, use below types instead:\n *\n * - {@link IHttpLlmController} for HTTP\n * - {@link ILlmController} for TypeScript\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @author Byeongjin Oh - https://github.com/sunrabbit123\n * @reference https://wrtnlabs.io/agentica/docs/core/controller/mcp/\n */\nexport interface IMcpLlmController<Model extends ILlmSchema.Model> {\n /** Protocol discriminator. */\n protocol: \"mcp\";\n\n /** Identifier name of the controller. */\n name: string;\n\n /** Application schema of function calling. */\n application: IMcpLlmApplication<Model>;\n\n /**\n * MCP client for connection.\n *\n * @warning You have to install `@modelcontextprotocol/sdk` package\n * to use this type properly. If not, this type would work\n * as an `any` type, so that you can't validate it.\n */\n // @ts-ignore\n client: import(\"@modelcontextprotocol/sdk/client/index.d.ts\").Client;\n}\n",
102
98
  "node_modules/@samchon/openapi/lib/structures/IMcpLlmFunction.d.ts": "import { ILlmSchema } from \"./ILlmSchema\";\nimport { IValidation } from \"./IValidation\";\n/**\n * MCP LLM function.\n *\n * `IMcpLlmFunction` is an interface representing a function metadata of MCP\n * (Model Context Protocol), which has been designed for the LLM (Language Large\n * Model) function calling, instead of providing\n * [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * property to the LLM vendor API.\n *\n * It contains the target function's metadata {@link name}, {@link parameters} and\n * {@link description}. You can put these properties to the LLM vendor API to let\n * the LLM know the function's purpose and how to call it.\n *\n * Also, it contains {@link validate} function, which is used to validate the\n * function arguments generated by AI agent. It is very important to the LLM\n * function calling, because LLM like OpenAI takes a lot of mistakes when\n * composing arguments in function calling. Even though `number` like simple\n * type is defined in the {@link parameters} schema, LLM often fills it just by a\n * `string` typed value.\n *\n * > This is the reason why `@samchon/openapi` recommends not to use the\n * > [`mcp_servers`](https://openai.github.io/openai-agents-python/mcp/#using-mcp-servers)\n * > property of LLM API directly, but to use the function calling feature\n * > instead. You have to make the AI agent to correct the type level mistakes by\n * > using the `validate` function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @author Byeongjin Oh - https://github.com/sunrabbit123\n */\nexport interface IMcpLlmFunction<Model extends ILlmSchema.Model> {\n /**\n * Representative name of the function.\n *\n * @maxLength 64\n */\n name: string;\n /**\n * Description of the function.\n *\n * For reference, the `description` is a critical property for teaching the\n * purpose of the function to LLMs (Large Language Models). LLMs use this\n * description to determine which function to call.\n *\n * Also, when the LLM converses with the user, the `description` explains\n * the function to the user. Therefore, the `description` property has the\n * highest priority and should be carefully considered.\n */\n description?: string | undefined;\n /** Parameters of the function. */\n parameters: ILlmSchema.IParameters<Model>;\n /**\n * Validate function of the arguments.\n *\n * You know what? LLM (Large Language Model) like OpenAI takes a lot of\n * mistakes when composing arguments in function calling. Even though `number`\n * like simple type is defined in the {@link parameters} schema, LLM often\n * fills it just by a `string` typed value.\n *\n * In that case, you have to give a validation feedback to the LLM by using\n * this `validate` function. The `validate` function will return detailed\n * information about every type errors about the arguments.\n *\n * And in my experience, OpenAI's `gpt-4o-mini` model tends to construct an\n * invalid function calling arguments at the first trial about 50% of the\n * time. However, if correct it through this `validate` function, the success\n * rate soars to 99% at the second trial, and I've never failed at the third\n * trial.\n *\n * > If you've {@link separated} parameters, use the\n * > {@link IMcpLlmFunction.ISeparated.validate} function instead when validating\n * > the LLM composed arguments.\n *\n * > In that case, This `validate` function would be meaningful only when you've\n * > merged the LLM and human composed arguments by\n * > {@link McpLlm.mergeParameters} function.\n *\n * @param args Arguments to validate\n * @returns Validation result\n */\n validate: (args: unknown) => IValidation<unknown>;\n}\n",
103
- "node_modules/@samchon/openapi/lib/structures/IMcpTool.d.ts": "import { OpenApiV3_1 } from \"../OpenApiV3_1\";\n/**\n * MCP tool type.\n *\n * `IMcpTool` is an interface representing a tool type defined in the MCP (Model\n * Context Protocol).\n *\n * Note that, don't be confused with {@link IMcpLlmFunction} type, that is used\n * for {@link McpLlm.application} which converts this `IMcpTool` type to the\n * {@link IMcpLlmFunction} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @warning Don't be confused with {@link IMcpLlmFunction}\n */\nexport interface IMcpTool {\n /**\n * Name of the tool.\n *\n * @maxLength 64\n */\n name: string;\n /** Description of the tool. */\n description?: string | undefined;\n /**\n * Input schema of the tool.\n *\n * The input schema, parameters of the tool.\n *\n * As MCP (Model Context Protocol) does not restict the JSON schema\n * specification, `@samchon/openapi` has defined it to be universal structure\n * {@link OpenApiV3_1.IJsonSchema} which can cover every JSON schema\n * specification.\n */\n inputSchema: IMcpTool.IInputSchema;\n}\nexport declare namespace IMcpTool {\n /**\n * Input schema of the tool.\n *\n * The input schema, parameters of the tool.\n *\n * As MCP (Model Context Protocol) does not restict the JSON schema\n * specification, `@samchon/openapi` has defined it to be universal structure\n * {@link OpenApiV3_1.IJsonSchema} which can cover every JSON schema\n * specification.\n */\n type IInputSchema = (OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IReference) & {\n /** Collection of the named schemas. */\n $defs?: Record<string, OpenApiV3_1.IJsonSchema>;\n };\n}\n",
99
+ "node_modules/@samchon/openapi/lib/structures/IMcpTool.d.ts": "import { OpenApiV3_1 } from \"../OpenApiV3_1\";\n/**\n * MCP tool type.\n *\n * `IMcpTool` is an interface representing a tool type defined in the MCP (Model\n * Context Protocol).\n *\n * Note that, don't be confused with {@link IMcpLlmFunction} type, that is used\n * for {@link McpLlm.application} which converts this `IMcpTool` type to the\n * {@link IMcpLlmFunction} type.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @warning Don't be confused with {@link IMcpLlmFunction}\n */\nexport interface IMcpTool {\n /**\n * Name of the tool.\n *\n * @maxLength 64\n */\n name: string;\n /** Description of the tool. */\n description?: string | undefined;\n /**\n * Input schema of the tool.\n *\n * The input schema, parameters of the tool.\n *\n * As MCP (Model Context Protocol) does not restrict the JSON schema\n * specification, `@samchon/openapi` has defined it to be universal structure\n * {@link OpenApiV3_1.IJsonSchema} which can cover every JSON schema\n * specification.\n */\n inputSchema: IMcpTool.IInputSchema;\n}\nexport declare namespace IMcpTool {\n /**\n * Input schema of the tool.\n *\n * The input schema, parameters of the tool.\n *\n * As MCP (Model Context Protocol) does not restrict the JSON schema\n * specification, `@samchon/openapi` has defined it to be universal structure\n * {@link OpenApiV3_1.IJsonSchema} which can cover every JSON schema\n * specification.\n */\n type IInputSchema = (OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IReference) & {\n /** Collection of the named schemas. */\n $defs?: Record<string, OpenApiV3_1.IJsonSchema>;\n };\n}\n",
104
100
  "node_modules/@samchon/openapi/lib/structures/IOpenApiSchemaError.d.ts": "import { OpenApi } from \"../OpenApi\";\n/**\n * OpenAPI schema related error.\n *\n * `IOpenApiSchemaError` is a type representing an error that occurred during\n * the iteration or transformation of the OpenAPI schema (JSON schema) of\n * {@link OpenApi.IJsonSchema} type.\n *\n * The most `IOpenApiSchemaError` is occurred by the transformation process from\n * {@link OpenApi.IJsonSchema} to {@link ILlmSchema} type. The transformation can\n * be failed by following reasons:\n *\n * - Unable to find the {@link OpenApi.IJsonSchema.IReference} directing.\n * - Non-supported type in LLM schema models\n *\n * - Every models do not support {@link OpenApi.IJsonSchema.ITuple}\n * - Gemini does not support {@link OpenApi.IJsonSchema.IOneOf}\n * - ChatGPT and Gemini do not support\n * {@link OpenApi.IJsonSchema.IObject.additionalProperties}\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport interface IOpenApiSchemaError {\n /** Method that caused the error. */\n method: string;\n /** Message of the error. */\n message: string;\n /** The detailed reasons of the error. */\n reasons: IOpenApiSchemaError.IReason[];\n}\nexport declare namespace IOpenApiSchemaError {\n /** Detailed reason of the error. */\n interface IReason {\n /** Schema that caused the error. */\n schema: OpenApi.IJsonSchema;\n /** Accessor to the schema. */\n accessor: string;\n /** Message of the reason. */\n message: string;\n }\n}\n",
105
101
  "node_modules/@samchon/openapi/lib/structures/IResult.d.ts": "/**\n * Result of an operation that can either succeed or fail.\n *\n * `IResult` is an union type that represents the result of an operation that\n * can either succeed or fail.\n *\n * You can distinguished the result by checking the {@link IResult.success}\n * value, and if it's `true`, the success value is stored in\n * {@link IResult.value}. Otherwise, if it's `false`, the error value is stored\n * in {@link IResult.error}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the success value.\n * @template E Type of the error value.\n */\nexport type IResult<T, E> = IResult.ISuccess<T> | IResult.IFailure<E>;\nexport declare namespace IResult {\n /** Success type of {@link IResult}. */\n interface ISuccess<T> {\n /** Success flag. */\n success: true;\n /** Success value. */\n value: T;\n }\n /** Failure type of {@link IResult}. */\n interface IFailure<E> {\n /** Success flag. */\n success: false;\n /** The error value. */\n error: E;\n }\n}\n",
106
102
  "node_modules/@samchon/openapi/lib/structures/IValidation.d.ts": "/**\n * Union type representing the result of type validation\n *\n * This is the return type of {@link typia.validate} functions, returning\n * {@link IValidation.ISuccess} on validation success and\n * {@link IValidation.IFailure} on validation failure. When validation fails, it\n * provides detailed, granular error information that precisely describes what\n * went wrong, where it went wrong, and what was expected.\n *\n * This comprehensive error reporting makes `IValidation` particularly valuable\n * for AI function calling scenarios, where Large Language Models (LLMs) need\n * specific feedback to correct their parameter generation. The detailed error\n * information is used by ILlmFunction.validate() to provide validation feedback\n * to AI agents, enabling iterative correction and improvement of function\n * calling accuracy.\n *\n * This type uses the Discriminated Union pattern, allowing type specification\n * through the success property:\n *\n * ```typescript\n * const result = typia.validate<string>(input);\n * if (result.success) {\n * // IValidation.ISuccess<string> type\n * console.log(result.data); // validated data accessible\n * } else {\n * // IValidation.IFailure type\n * console.log(result.errors); // detailed error information accessible\n * }\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T The type to validate\n */\nexport type IValidation<T = unknown> = IValidation.ISuccess<T> | IValidation.IFailure;\nexport declare namespace IValidation {\n /**\n * Interface returned when type validation succeeds\n *\n * Returned when the input value perfectly conforms to the specified type T.\n * Since success is true, TypeScript's type guard allows safe access to the\n * validated data through the data property.\n *\n * @template T The validated type\n */\n interface ISuccess<T = unknown> {\n /** Indicates validation success */\n success: true;\n /** The validated data of type T */\n data: T;\n }\n /**\n * Interface returned when type validation fails\n *\n * Returned when the input value does not conform to the expected type.\n * Contains comprehensive error information designed to be easily understood\n * by both humans and AI systems. Each error in the errors array provides\n * precise details about validation failures, including the exact path to the\n * problematic property, what type was expected, and what value was actually\n * provided.\n *\n * This detailed error structure is specifically optimized for AI function\n * calling validation feedback. When LLMs make type errors during function\n * calling, these granular error reports enable the AI to understand exactly\n * what went wrong and how to fix it, improving success rates in subsequent\n * attempts.\n *\n * Example error scenarios:\n *\n * - Type mismatch: expected \"string\" but got number 5\n * - Format violation: expected \"string & Format<'uuid'>\" but got\n * \"invalid-format\"\n * - Missing properties: expected \"required property 'name'\" but got undefined\n * - Array type errors: expected \"Array<string>\" but got single string value\n *\n * The errors are used by ILlmFunction.validate() to provide structured\n * feedback to AI agents, enabling them to correct their parameter generation\n * and achieve improved function calling accuracy.\n */\n interface IFailure {\n /** Indicates validation failure */\n success: false;\n /** The original input data that failed validation */\n data: unknown;\n /** Array of detailed validation errors */\n errors: IError[];\n }\n /**\n * Detailed information about a specific validation error\n *\n * Each error provides granular, actionable information about validation\n * failures, designed to be immediately useful for both human developers and\n * AI systems. The error structure follows a consistent format that enables\n * precise identification and correction of type mismatches.\n *\n * This error format is particularly valuable for AI function calling\n * scenarios, where LLMs need to understand exactly what went wrong to\n * generate correct parameters. The combination of path, expected type name,\n * actual value, and optional human-readable description provides the AI with\n * comprehensive context to make accurate corrections, which is why\n * ILlmFunction.validate() can achieve such high success rates in validation\n * feedback loops.\n *\n * The value field can contain any type of data, including `undefined` when\n * dealing with missing required properties or null/undefined validation\n * scenarios. This allows for precise error reporting in cases where the AI\n * agent omits required fields or provides null/undefined values\n * inappropriately.\n *\n * Real-world examples from AI function calling:\n *\n * {\n * path: \"$input.member.age\",\n * expected: \"number\",\n * value: \"25\" // AI provided string instead of number\n * }\n *\n * {\n * path: \"$input.count\",\n * expected: \"number & Type<'uint32'>\",\n * value: 20.75 // AI provided float instead of uint32\n * }\n *\n * {\n * path: \"$input.categories\",\n * expected: \"Array<string>\",\n * value: \"technology\" // AI provided string instead of array\n * }\n *\n * {\n * path: \"$input.id\",\n * expected: \"string & Format<'uuid'>\",\n * value: \"invalid-uuid-format\" // AI provided malformed UUID\n * }\n *\n * {\n * path: \"$input.user.name\",\n * expected: \"string\",\n * value: undefined // AI omitted required property\n * }\n */\n interface IError {\n /**\n * The path to the property that failed validation\n *\n * Dot-notation path using $input prefix indicating the exact location of\n * the validation failure within the input object structure. Examples\n * include \"$input.member.age\", \"$input.categories[0]\",\n * \"$input.user.profile.email\"\n */\n path: string;\n /**\n * The expected type name or type expression\n *\n * Technical type specification that describes what type was expected at\n * this path. This follows TypeScript-like syntax with embedded constraint\n * information, such as \"string\", \"number & Type<'uint32'>\",\n * \"Array<string>\", \"string & Format<'uuid'> & MinLength<8>\", etc.\n */\n expected: string;\n /**\n * The actual value that caused the validation failure\n *\n * This field contains the actual value that was provided but failed\n * validation. Note that this value can be `undefined` in cases where a\n * required property is missing or when validating against undefined\n * values.\n */\n value: unknown;\n /**\n * Optional human-readable description of the validation error\n *\n * This field is rarely populated in standard typia validation and is\n * primarily intended for specialized AI agent libraries or custom\n * validation scenarios that require additional context beyond the technical\n * type information. Most validation errors rely solely on the path,\n * expected, and value fields for comprehensive error reporting.\n */\n description?: string;\n }\n}\n",
@@ -110,7 +106,7 @@
110
106
  "node_modules/@samchon/openapi/lib/utils/DeepSeekTypeChecker.d.ts": "import { LlmTypeCheckerV3_1 } from \"./LlmTypeCheckerV3_1\";\n/**\n * Type checker for DeepSeek type schema.\n *\n * `DeepSeekTypeChecker` is an alias for {@link LlmTypeCheckerV3_1} since DeepSeek\n * supports the same schema structure as LLM Schema v3.1.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare const DeepSeekTypeChecker: typeof LlmTypeCheckerV3_1;\n",
111
107
  "node_modules/@samchon/openapi/lib/utils/EndpointUtil.d.ts": "export declare namespace EndpointUtil {\n const capitalize: (str: string) => string;\n const pascal: (path: string) => string;\n const splitWithNormalization: (path: string) => string[];\n const reJoinWithDecimalParameters: (path: string) => string;\n const normalize: (str: string) => string;\n const escapeDuplicate: (keep: string[]) => (change: string) => string;\n}\n",
112
108
  "node_modules/@samchon/openapi/lib/utils/Escaper.d.ts": "export declare namespace Escaper {\n const variable: (str: string) => boolean;\n const reserved: (str: string) => boolean;\n}\n",
113
- "node_modules/@samchon/openapi/lib/utils/GeminiTypeChecker.d.ts": "import { IGeminiSchema } from \"../structures/IGeminiSchema\";\n/**\n * Type checker for Gemini type schema.\n *\n * `GeminiTypeChecker` is a type checker of {@link IGeminiSchema}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace GeminiTypeChecker {\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure`\n * function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link IGeminiSchema.IObject.properties}\n * - {@link IGeminiSchema.IArray.items}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: IGeminiSchema, accessor: string) => void;\n schema: IGeminiSchema;\n accessor?: string;\n }) => void;\n /**\n * Test whether the `x` schema covers the `y` schema.\n *\n * @param props Properties for testing\n * @returns Whether the `x` schema covers the `y` schema\n */\n const covers: (x: IGeminiSchema, y: IGeminiSchema) => boolean;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: IGeminiSchema) => schema is IGeminiSchema.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: IGeminiSchema) => schema is IGeminiSchema.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: IGeminiSchema) => schema is IGeminiSchema.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: IGeminiSchema) => schema is IGeminiSchema.IString;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: IGeminiSchema) => schema is IGeminiSchema.IArray;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: IGeminiSchema) => schema is IGeminiSchema.IObject;\n /**\n * Test whether the schema is a null type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNullOnly: (schema: IGeminiSchema) => schema is IGeminiSchema.INullOnly;\n /**\n * Test whether the schema is a nullable type.\n *\n * @param schema Target schema\n * @returns Whether nullable type or not\n */\n const isNullable: (schema: IGeminiSchema) => boolean;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: IGeminiSchema) => schema is IGeminiSchema.IUnknown;\n}\n",
109
+ "node_modules/@samchon/openapi/lib/utils/GeminiTypeChecker.d.ts": "import { IGeminiSchema } from \"../structures/IGeminiSchema\";\n/**\n * Type checker for Gemini type schema.\n *\n * `GeminiTypeChecker` is a type checker of {@link IGeminiSchema}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace GeminiTypeChecker {\n /**\n * Test whether the schema is a null type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNull: (schema: IGeminiSchema) => schema is IGeminiSchema.INull;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: IGeminiSchema) => schema is IGeminiSchema.IUnknown;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: IGeminiSchema) => schema is IGeminiSchema.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: IGeminiSchema) => schema is IGeminiSchema.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: IGeminiSchema) => schema is IGeminiSchema.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: IGeminiSchema) => schema is IGeminiSchema.IString;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: IGeminiSchema) => schema is IGeminiSchema.IArray;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: IGeminiSchema) => schema is IGeminiSchema.IObject;\n /**\n * Test whether the schema is a reference type.\n *\n * @param schema Target schema\n * @returns Whether reference type or not\n */\n const isReference: (schema: IGeminiSchema) => schema is IGeminiSchema.IReference;\n /**\n * Test whether the schema is an union type.\n *\n * @param schema Target schema\n * @returns Whether union type or not\n */\n const isAnyOf: (schema: IGeminiSchema) => schema is IGeminiSchema.IAnyOf;\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure`\n * function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link IGeminiSchema.IAnyOf.anyOf}\n * - {@link IGeminiSchema.IReference}\n * - {@link IGeminiSchema.IObject.properties}\n * - {@link IGeminiSchema.IArray.items}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: IGeminiSchema, accessor: string) => void;\n $defs?: Record<string, IGeminiSchema> | undefined;\n schema: IGeminiSchema;\n accessor?: string;\n refAccessor?: string;\n }) => void;\n /**\n * Test whether the `x` schema covers the `y` schema.\n *\n * @param props Properties for testing\n * @returns Whether the `x` schema covers the `y` schema\n */\n const covers: (props: {\n $defs?: Record<string, IGeminiSchema> | undefined;\n x: IGeminiSchema;\n y: IGeminiSchema;\n }) => boolean;\n}\n",
114
110
  "node_modules/@samchon/openapi/lib/utils/LlamaTypeChecker.d.ts": "import { LlmTypeCheckerV3_1 } from \"./LlmTypeCheckerV3_1\";\n/**\n * Type checker for Llama type schema.\n *\n * `LlamaTypeChecker` is an alias for {@link LlmTypeCheckerV3_1} since Llama\n * supports the same schema structure as LLM Schema v3.1.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare const LlamaTypeChecker: typeof LlmTypeCheckerV3_1;\n",
115
111
  "node_modules/@samchon/openapi/lib/utils/LlmDataMerger.d.ts": "import { ILlmFunction } from \"../structures/ILlmFunction\";\nimport { ILlmSchema } from \"../structures/ILlmSchema\";\n/**\n * Data combiner for LLM function call.\n *\n * @author Samchon\n */\nexport declare namespace LlmDataMerger {\n /** Properties of {@link parameters} function. */\n interface IProps<Model extends ILlmSchema.Model> {\n /** Target function to call. */\n function: ILlmFunction<Model>;\n /** Arguments composed by LLM (Large Language Model). */\n llm: object | null;\n /** Arguments composed by human. */\n human: object | null;\n }\n /**\n * Combine LLM and human arguments into one.\n *\n * When you composes {@link IOpenAiDocument} with\n * {@link IOpenAiDocument.IOptions.separate} option, then the arguments of the\n * target function would be separated into two parts; LLM (Large Language\n * Model) and human.\n *\n * In that case, you can combine both LLM and human composed arguments into\n * one by utilizing this {@link LlmDataMerger.parameters} function, referencing\n * the target function metadata {@link IOpenAiFunction.separated}.\n *\n * @param props Properties to combine LLM and human arguments with metadata.\n * @returns Combined arguments\n */\n const parameters: <Model extends ILlmSchema.Model>(props: IProps<Model>) => object;\n /**\n * Combine two values into one.\n *\n * If both values are objects, then combines them in the properties level.\n *\n * Otherwise, returns the latter value if it's not null, otherwise the former\n * value\n *\n * - `return (y ?? x)`\n *\n * @param x Value X\n * @param y Value Y\n * @returns Combined value\n */\n const value: (x: unknown, y: unknown) => unknown;\n}\n",
116
112
  "node_modules/@samchon/openapi/lib/utils/LlmTypeCheckerV3.d.ts": "import { ILlmSchemaV3 } from \"../structures/ILlmSchemaV3\";\n/**\n * Type checker for LLM type schema v3.\n *\n * `LlmTypeCheckerV3` is a type checker of {@link ILlmSchemaV3}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n */\nexport declare namespace LlmTypeCheckerV3 {\n /**\n * Visit every nested schemas.\n *\n * Visit every nested schemas of the target, and apply the `props.closure`\n * function.\n *\n * Here is the list of occurring nested visitings:\n *\n * - {@link ILlmSchemaV3.IOneOf.oneOf}\n * - {@link ILlmSchemaV3.IObject.additionalProperties}\n * - {@link ILlmSchemaV3.IArray.items}\n *\n * @param props Properties for visiting\n */\n const visit: (props: {\n closure: (schema: ILlmSchemaV3, accessor: string) => void;\n schema: ILlmSchemaV3;\n accessor?: string;\n }) => void;\n const covers: (x: ILlmSchemaV3, y: ILlmSchemaV3) => boolean;\n /**\n * Test whether the schema is an union type.\n *\n * @param schema Target schema\n * @returns Whether union type or not\n */\n const isOneOf: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IOneOf;\n /**\n * Test whether the schema is an object type.\n *\n * @param schema Target schema\n * @returns Whether object type or not\n */\n const isObject: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IObject;\n /**\n * Test whether the schema is an array type.\n *\n * @param schema Target schema\n * @returns Whether array type or not\n */\n const isArray: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IArray;\n /**\n * Test whether the schema is a boolean type.\n *\n * @param schema Target schema\n * @returns Whether boolean type or not\n */\n const isBoolean: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IBoolean;\n /**\n * Test whether the schema is an integer type.\n *\n * @param schema Target schema\n * @returns Whether integer type or not\n */\n const isInteger: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IInteger;\n /**\n * Test whether the schema is a number type.\n *\n * @param schema Target schema\n * @returns Whether number type or not\n */\n const isNumber: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.INumber;\n /**\n * Test whether the schema is a string type.\n *\n * @param schema Target schema\n * @returns Whether string type or not\n */\n const isString: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IString;\n /**\n * Test whether the schema is a null type.\n *\n * @param schema Target schema\n * @returns Whether null type or not\n */\n const isNullOnly: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.INullOnly;\n /**\n * Test whether the schema is a nullable type.\n *\n * @param schema Target schema\n * @returns Whether nullable type or not\n */\n const isNullable: (schema: ILlmSchemaV3) => boolean;\n /**\n * Test whether the schema is an unknown type.\n *\n * @param schema Target schema\n * @returns Whether unknown type or not\n */\n const isUnknown: (schema: ILlmSchemaV3) => schema is ILlmSchemaV3.IUnknown;\n}\n",
@@ -135,7 +131,7 @@
135
131
  "node_modules/@samchon/openapi/lib/utils/internal/OpenApiStringValidator.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IOpenApiValidatorContext } from \"./IOpenApiValidatorContext\";\nexport declare namespace OpenApiStringValidator {\n const validate: (ctx: IOpenApiValidatorContext<OpenApi.IJsonSchema.IString>) => boolean;\n}\n",
136
132
  "node_modules/@samchon/openapi/lib/utils/internal/OpenApiTupleValidator.d.ts": "import { OpenApi } from \"../../OpenApi\";\nimport { IOpenApiValidatorContext } from \"./IOpenApiValidatorContext\";\nexport declare namespace OpenApiTupleValidator {\n const validate: (ctx: IOpenApiValidatorContext<OpenApi.IJsonSchema.ITuple>) => boolean;\n}\n",
137
133
  "node_modules/@samchon/openapi/lib/utils/internal/OpenApiTypeCheckerBase.d.ts": "export {};\n",
138
- "node_modules/@samchon/openapi/package.json": "{\n \"name\": \"@samchon/openapi\",\n \"version\": \"4.7.1\",\n \"description\": \"OpenAPI definitions and converters for 'typia' and 'nestia'.\",\n \"main\": \"./lib/index.js\",\n \"module\": \"./lib/index.mjs\",\n \"typings\": \"./lib/index.d.ts\",\n \"scripts\": {\n \"prepare\": \"ts-patch install\",\n \"build\": \"rimraf lib && tsc && rollup -c && ts-node build/post.ts\",\n \"dev\": \"rimraf lib && tsc --watch\",\n \"typedoc\": \"typedoc --plugin typedoc-github-theme --theme typedoc-github-theme\"\n },\n \"keywords\": [\n \"swagger\",\n \"openapi\",\n \"openapi-generator\",\n \"openapi-validator\",\n \"converter\",\n \"migrate\",\n \"typia\",\n \"nestia\",\n \"llm\",\n \"llm-function-calling\",\n \"structured-output\",\n \"openai\",\n \"chatgpt\",\n \"claude\",\n \"gemini\",\n \"llama\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/openapi\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/openapi/issues\"\n },\n \"homepage\": \"https://samchon.github.io/openapi/api\",\n \"devDependencies\": {\n \"@modelcontextprotocol/sdk\": \"^1.11.4\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^12.1.2\",\n \"@trivago/prettier-plugin-sort-imports\": \"^5.2.2\",\n \"@types/node\": \"^20.12.7\",\n \"gh-pages\": \"^6.3.0\",\n \"prettier\": \"^3.5.3\",\n \"prettier-plugin-jsdoc\": \"^1.3.2\",\n \"rimraf\": \"^5.0.5\",\n \"rollup\": \"^4.18.1\",\n \"rollup-plugin-auto-external\": \"^2.0.0\",\n \"tinyglobby\": \"^0.2.10\",\n \"ts-node\": \"^10.9.2\",\n \"ts-patch\": \"^3.3.0\",\n \"typedoc\": \"^0.27.6\",\n \"typedoc-github-theme\": \"^0.2.1\",\n \"typescript\": \"~5.8.3\"\n },\n \"sideEffects\": false,\n \"files\": [\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"packageManager\": \"pnpm@10.5.2\",\n \"pnpm\": {\n \"executionEnv\": {\n \"nodeVersion\": \"22.14.0\"\n },\n \"onlyBuiltDependencies\": [\n \"@nestjs/core\"\n ]\n }\n}\n",
134
+ "node_modules/@samchon/openapi/package.json": "{\n \"name\": \"@samchon/openapi\",\n \"version\": \"5.0.0\",\n \"description\": \"OpenAPI definitions and converters for 'typia' and 'nestia'.\",\n \"main\": \"./lib/index.js\",\n \"module\": \"./lib/index.mjs\",\n \"typings\": \"./lib/index.d.ts\",\n \"scripts\": {\n \"prepare\": \"ts-patch install\",\n \"build\": \"rimraf lib && tsc && rollup -c && ts-node build/post.ts\",\n \"dev\": \"rimraf lib && tsc --watch\",\n \"typedoc\": \"typedoc --plugin typedoc-github-theme --theme typedoc-github-theme\"\n },\n \"keywords\": [\n \"swagger\",\n \"openapi\",\n \"openapi-generator\",\n \"openapi-validator\",\n \"converter\",\n \"migrate\",\n \"typia\",\n \"nestia\",\n \"llm\",\n \"llm-function-calling\",\n \"structured-output\",\n \"openai\",\n \"chatgpt\",\n \"claude\",\n \"gemini\",\n \"llama\"\n ],\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/openapi\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/openapi/issues\"\n },\n \"homepage\": \"https://samchon.github.io/openapi/api\",\n \"devDependencies\": {\n \"@modelcontextprotocol/sdk\": \"^1.11.4\",\n \"@rollup/plugin-terser\": \"^0.4.4\",\n \"@rollup/plugin-typescript\": \"^12.1.2\",\n \"@trivago/prettier-plugin-sort-imports\": \"^5.2.2\",\n \"@types/node\": \"^20.12.7\",\n \"gh-pages\": \"^6.3.0\",\n \"prettier\": \"^3.5.3\",\n \"prettier-plugin-jsdoc\": \"^1.3.2\",\n \"rimraf\": \"^5.0.5\",\n \"rollup\": \"^4.18.1\",\n \"rollup-plugin-auto-external\": \"^2.0.0\",\n \"tinyglobby\": \"^0.2.10\",\n \"ts-node\": \"^10.9.2\",\n \"ts-patch\": \"^3.3.0\",\n \"typedoc\": \"^0.27.6\",\n \"typedoc-github-theme\": \"^0.2.1\",\n \"typescript\": \"~5.8.3\"\n },\n \"sideEffects\": false,\n \"files\": [\n \"lib\",\n \"src\",\n \"README.md\",\n \"LICENSE\"\n ],\n \"packageManager\": \"pnpm@10.5.2\",\n \"pnpm\": {\n \"executionEnv\": {\n \"nodeVersion\": \"22.14.0\"\n },\n \"onlyBuiltDependencies\": [\n \"@nestjs/core\"\n ]\n }\n}\n",
139
135
  "node_modules/@standard-schema/spec/dist/index.d.ts": "/** The Standard Schema interface. */\ninterface StandardSchemaV1<Input = unknown, Output = Input> {\n /** The Standard Schema properties. */\n readonly \"~standard\": StandardSchemaV1.Props<Input, Output>;\n}\ndeclare namespace StandardSchemaV1 {\n /** The Standard Schema properties interface. */\n export interface Props<Input = unknown, Output = Input> {\n /** The version number of the standard. */\n readonly version: 1;\n /** The vendor name of the schema library. */\n readonly vendor: string;\n /** Validates unknown input values. */\n readonly validate: (value: unknown) => Result<Output> | Promise<Result<Output>>;\n /** Inferred types associated with the schema. */\n readonly types?: Types<Input, Output> | undefined;\n }\n /** The result interface of the validate function. */\n export type Result<Output> = SuccessResult<Output> | FailureResult;\n /** The result interface if validation succeeds. */\n export interface SuccessResult<Output> {\n /** The typed output value. */\n readonly value: Output;\n /** The non-existent issues. */\n readonly issues?: undefined;\n }\n /** The result interface if validation fails. */\n export interface FailureResult {\n /** The issues of failed validation. */\n readonly issues: ReadonlyArray<Issue>;\n }\n /** The issue interface of the failure output. */\n export interface Issue {\n /** The error message of the issue. */\n readonly message: string;\n /** The path of the issue, if any. */\n readonly path?: ReadonlyArray<PropertyKey | PathSegment> | undefined;\n }\n /** The path segment interface of the issue. */\n export interface PathSegment {\n /** The key representing a path segment. */\n readonly key: PropertyKey;\n }\n /** The Standard Schema types interface. */\n export interface Types<Input = unknown, Output = Input> {\n /** The input type of the schema. */\n readonly input: Input;\n /** The output type of the schema. */\n readonly output: Output;\n }\n /** Infers the input type of a Standard Schema. */\n export type InferInput<Schema extends StandardSchemaV1> = NonNullable<Schema[\"~standard\"][\"types\"]>[\"input\"];\n /** Infers the output type of a Standard Schema. */\n export type InferOutput<Schema extends StandardSchemaV1> = NonNullable<Schema[\"~standard\"][\"types\"]>[\"output\"];\n export { };\n}\n\nexport { StandardSchemaV1 };\n",
140
136
  "node_modules/@standard-schema/spec/package.json": "{\n \"name\": \"@standard-schema/spec\",\n \"description\": \"A standard interface for TypeScript schema validation libraries\",\n \"version\": \"1.0.0\",\n \"license\": \"MIT\",\n \"author\": \"Colin McDonnell\",\n \"homepage\": \"https://standardschema.dev\",\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/standard-schema/standard-schema\"\n },\n \"keywords\": [\n \"typescript\",\n \"schema\",\n \"validation\",\n \"standard\",\n \"interface\"\n ],\n \"type\": \"module\",\n \"main\": \"./dist/index.js\",\n \"types\": \"./dist/index.d.ts\",\n \"exports\": {\n \".\": {\n \"import\": {\n \"types\": \"./dist/index.d.ts\",\n \"default\": \"./dist/index.js\"\n },\n \"require\": {\n \"types\": \"./dist/index.d.cts\",\n \"default\": \"./dist/index.cjs\"\n }\n }\n },\n \"sideEffects\": false,\n \"files\": [\n \"dist\"\n ],\n \"publishConfig\": {\n \"access\": \"public\"\n },\n \"devDependencies\": {\n \"tsup\": \"^8.3.0\",\n \"typescript\": \"^5.6.2\"\n },\n \"scripts\": {\n \"lint\": \"pnpm biome lint ./src\",\n \"format\": \"pnpm biome format --write ./src\",\n \"check\": \"pnpm biome check ./src\",\n \"build\": \"tsup\"\n }\n}",
141
137
  "node_modules/@types/node/assert/strict.d.ts": "declare module \"assert/strict\" {\n import { strict } from \"node:assert\";\n export = strict;\n}\ndeclare module \"node:assert/strict\" {\n import { strict } from \"node:assert\";\n export = strict;\n}\n",
@@ -949,7 +945,7 @@
949
945
  "node_modules/typia/lib/programmers/internal/json_schema_number.d.ts": "import { OpenApi } from \"@samchon/openapi\";\nimport { MetadataAtomic } from \"../../schemas/metadata/MetadataAtomic\";\nexport declare const json_schema_number: (atomic: MetadataAtomic) => Array<OpenApi.IJsonSchema.IInteger | OpenApi.IJsonSchema.INumber>;\n",
950
946
  "node_modules/typia/lib/programmers/internal/json_schema_object.d.ts": "export {};\n",
951
947
  "node_modules/typia/lib/programmers/internal/json_schema_plugin.d.ts": "import { OpenApi } from \"@samchon/openapi\";\nimport { IMetadataTypeTag } from \"../../schemas/metadata/IMetadataTypeTag\";\nexport declare const json_schema_plugin: <Schema extends OpenApi.IJsonSchema>(props: {\n schema: Schema;\n tags: IMetadataTypeTag[][];\n}) => Schema[];\n",
952
- "node_modules/typia/lib/programmers/internal/json_schema_station.d.ts": "import { OpenApi } from \"@samchon/openapi\";\nimport { Metadata } from \"../../schemas/metadata/Metadata\";\nexport declare const json_schema_station: <BlockNever extends boolean>(props: {\n blockNever: BlockNever;\n components: OpenApi.IComponents;\n attribute: OpenApi.IJsonSchema.__IAttribute;\n metadata: Metadata;\n}) => BlockNever extends true ? OpenApi.IJsonSchema | null : OpenApi.IJsonSchema;\n",
948
+ "node_modules/typia/lib/programmers/internal/json_schema_station.d.ts": "import { IJsonSchemaAttribute, OpenApi } from \"@samchon/openapi\";\nimport { Metadata } from \"../../schemas/metadata/Metadata\";\nexport declare const json_schema_station: <BlockNever extends boolean>(props: {\n blockNever: BlockNever;\n components: OpenApi.IComponents;\n attribute: IJsonSchemaAttribute;\n metadata: Metadata;\n}) => BlockNever extends true ? OpenApi.IJsonSchema | null : OpenApi.IJsonSchema;\n",
953
949
  "node_modules/typia/lib/programmers/internal/json_schema_string.d.ts": "import { OpenApi } from \"@samchon/openapi\";\nimport { MetadataAtomic } from \"../../schemas/metadata/MetadataAtomic\";\nexport declare const json_schema_string: (atomic: MetadataAtomic) => OpenApi.IJsonSchema[];\n",
954
950
  "node_modules/typia/lib/programmers/internal/json_schema_template.d.ts": "import { OpenApi } from \"@samchon/openapi\";\nimport { Metadata } from \"../../schemas/metadata/Metadata\";\nexport declare const json_schema_templates: (metadata: Metadata) => OpenApi.IJsonSchema[];\n",
955
951
  "node_modules/typia/lib/programmers/internal/json_schema_title.d.ts": "import { IJsDocTagInfo } from \"../../schemas/metadata/IJsDocTagInfo\";\nexport declare const json_schema_title: (schema: {\n description?: string | null | undefined;\n jsDocTags?: IJsDocTagInfo[] | undefined;\n}) => string | undefined;\n",
@@ -1209,7 +1205,7 @@
1209
1205
  "node_modules/typia/lib/utils/ProtobufNameEncoder.d.ts": "export declare namespace ProtobufNameEncoder {\n const encode: (str: string) => string;\n const decode: (str: string) => string;\n}\n",
1210
1206
  "node_modules/typia/lib/utils/Singleton.d.ts": "export declare class Singleton<T, Args extends any[] = []> {\n private readonly closure_;\n private value_;\n constructor(closure: (...args: Args) => T);\n get(...args: Args): T;\n}\n",
1211
1207
  "node_modules/typia/lib/utils/StringUtil.d.ts": "export declare namespace StringUtil {\n const capitalize: (str: string) => string;\n const escapeDuplicate: (props: {\n keep: string[];\n input: string;\n escape?: (str: string) => string;\n }) => string;\n}\n",
1212
- "node_modules/typia/package.json": "{\n \"name\": \"typia\",\n \"version\": \"9.7.2\",\n \"description\": \"Superfast runtime validators with only one line\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"module\": \"lib/index.mjs\",\n \"bin\": {\n \"typia\": \"./lib/executable/typia.js\"\n },\n \"tsp\": {\n \"tscOptions\": {\n \"parseAllJsDoc\": true\n }\n },\n \"scripts\": {\n \"test\": \"ts-node deploy --tag test\",\n \"test:template\": \"npm run --tag test --template\",\n \"-------------------------------------------------\": \"\",\n \"build\": \"rimraf lib && tsc && rollup -c\",\n \"dev\": \"rimraf lib && tsc --watch\",\n \"dev:errors\": \"tsc --project tsconfig.errors.json --watch\",\n \"eslint\": \"eslint\",\n \"eslint:fix\": \"eslint --fix\",\n \"prettier\": \"prettier src --check\",\n \"prettier:fix\": \"prettier src --write\",\n \"------------------------------------------------\": \"\",\n \"package:latest\": \"ts-node deploy --tag latest\",\n \"package:next\": \"ts-node deploy --tag next\",\n \"package:patch\": \"ts-node deploy --tag patch\",\n \"package:tgz\": \"ts-node deploy/tgz.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/typia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/typia/issues\"\n },\n \"homepage\": \"https://typia.io\",\n \"dependencies\": {\n \"@samchon/openapi\": \"^4.7.1\",\n \"@standard-schema/spec\": \"^1.0.0\",\n \"commander\": \"^10.0.0\",\n \"comment-json\": \"^4.2.3\",\n \"inquirer\": \"^8.2.5\",\n \"package-manager-detector\": \"^0.2.0\",\n \"randexp\": \"^0.5.3\"\n },\n \"peerDependencies\": {\n \"typescript\": \">=4.8.0 <5.10.0\"\n },\n \"devDependencies\": {\n \"@rollup/plugin-commonjs\": \"^26.0.1\",\n \"@rollup/plugin-node-resolve\": \"^15.2.3\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/inquirer\": \"^8.2.5\",\n \"@types/node\": \"^18.15.12\",\n \"@types/ts-expose-internals\": \"npm:ts-expose-internals@5.6.3\",\n \"@typescript-eslint/eslint-plugin\": \"^8.1.0\",\n \"@typescript-eslint/parser\": \"^8.1.0\",\n \"chalk\": \"^4.0.0\",\n \"eslint-plugin-deprecation\": \"^3.0.0\",\n \"prettier\": \"^3.2.5\",\n \"prettier-plugin-jsdoc\": \"^1.3.3\",\n \"rimraf\": \"^5.0.5\",\n \"rollup\": \"^4.18.0\",\n \"rollup-plugin-auto-external\": \"^2.0.0\",\n \"rollup-plugin-node-externals\": \"^8.0.0\",\n \"suppress-warnings\": \"^1.0.2\",\n \"tinyglobby\": \"^0.2.12\",\n \"ts-node\": \"^10.9.2\",\n \"typescript\": \"~5.9.2\"\n },\n \"sideEffects\": false,\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"package.json\",\n \"lib\",\n \"src\"\n ],\n \"keywords\": [\n \"fast\",\n \"json\",\n \"stringify\",\n \"typescript\",\n \"transform\",\n \"ajv\",\n \"io-ts\",\n \"zod\",\n \"schema\",\n \"json-schema\",\n \"generator\",\n \"assert\",\n \"clone\",\n \"is\",\n \"validate\",\n \"equal\",\n \"runtime\",\n \"type\",\n \"typebox\",\n \"checker\",\n \"validator\",\n \"safe\",\n \"parse\",\n \"prune\",\n \"random\",\n \"protobuf\",\n \"llm\",\n \"llm-function-calling\",\n \"structured-output\",\n \"openai\",\n \"chatgpt\",\n \"claude\",\n \"gemini\",\n \"llama\"\n ]\n}",
1208
+ "node_modules/typia/package.json": "{\n \"name\": \"typia\",\n \"version\": \"10.0.0\",\n \"description\": \"Superfast runtime validators with only one line\",\n \"main\": \"lib/index.js\",\n \"typings\": \"lib/index.d.ts\",\n \"module\": \"lib/index.mjs\",\n \"bin\": {\n \"typia\": \"./lib/executable/typia.js\"\n },\n \"tsp\": {\n \"tscOptions\": {\n \"parseAllJsDoc\": true\n }\n },\n \"scripts\": {\n \"test\": \"ts-node deploy --tag test\",\n \"test:template\": \"npm run --tag test --template\",\n \"-------------------------------------------------\": \"\",\n \"build\": \"rimraf lib && tsc && rollup -c\",\n \"dev\": \"rimraf lib && tsc --watch\",\n \"dev:errors\": \"tsc --project tsconfig.errors.json --watch\",\n \"eslint\": \"eslint\",\n \"eslint:fix\": \"eslint --fix\",\n \"prettier\": \"prettier src --check\",\n \"prettier:fix\": \"prettier src --write\",\n \"------------------------------------------------\": \"\",\n \"package:latest\": \"ts-node deploy --tag latest\",\n \"package:next\": \"ts-node deploy --tag next\",\n \"package:patch\": \"ts-node deploy --tag patch\",\n \"package:tgz\": \"ts-node deploy/tgz.ts\"\n },\n \"repository\": {\n \"type\": \"git\",\n \"url\": \"https://github.com/samchon/typia\"\n },\n \"author\": \"Jeongho Nam\",\n \"license\": \"MIT\",\n \"bugs\": {\n \"url\": \"https://github.com/samchon/typia/issues\"\n },\n \"homepage\": \"https://typia.io\",\n \"dependencies\": {\n \"@samchon/openapi\": \"^5.0.0\",\n \"@standard-schema/spec\": \"^1.0.0\",\n \"commander\": \"^10.0.0\",\n \"comment-json\": \"^4.2.3\",\n \"inquirer\": \"^8.2.5\",\n \"package-manager-detector\": \"^0.2.0\",\n \"randexp\": \"^0.5.3\"\n },\n \"peerDependencies\": {\n \"typescript\": \">=4.8.0 <5.10.0\"\n },\n \"devDependencies\": {\n \"@rollup/plugin-commonjs\": \"^26.0.1\",\n \"@rollup/plugin-node-resolve\": \"^15.2.3\",\n \"@rollup/plugin-typescript\": \"^11.1.6\",\n \"@trivago/prettier-plugin-sort-imports\": \"^4.3.0\",\n \"@types/inquirer\": \"^8.2.5\",\n \"@types/node\": \"^18.15.12\",\n \"@types/ts-expose-internals\": \"npm:ts-expose-internals@5.6.3\",\n \"@typescript-eslint/eslint-plugin\": \"^8.1.0\",\n \"@typescript-eslint/parser\": \"^8.1.0\",\n \"chalk\": \"^4.0.0\",\n \"eslint-plugin-deprecation\": \"^3.0.0\",\n \"prettier\": \"^3.2.5\",\n \"prettier-plugin-jsdoc\": \"^1.3.3\",\n \"rimraf\": \"^5.0.5\",\n \"rollup\": \"^4.18.0\",\n \"rollup-plugin-auto-external\": \"^2.0.0\",\n \"rollup-plugin-node-externals\": \"^8.0.0\",\n \"suppress-warnings\": \"^1.0.2\",\n \"tinyglobby\": \"^0.2.12\",\n \"ts-node\": \"^10.9.2\",\n \"typescript\": \"~5.9.3\"\n },\n \"sideEffects\": false,\n \"files\": [\n \"LICENSE\",\n \"README.md\",\n \"package.json\",\n \"lib\",\n \"src\"\n ],\n \"keywords\": [\n \"fast\",\n \"json\",\n \"stringify\",\n \"typescript\",\n \"transform\",\n \"ajv\",\n \"io-ts\",\n \"zod\",\n \"schema\",\n \"json-schema\",\n \"generator\",\n \"assert\",\n \"clone\",\n \"is\",\n \"validate\",\n \"equal\",\n \"runtime\",\n \"type\",\n \"typebox\",\n \"checker\",\n \"validator\",\n \"safe\",\n \"parse\",\n \"prune\",\n \"random\",\n \"protobuf\",\n \"llm\",\n \"llm-function-calling\",\n \"structured-output\",\n \"openai\",\n \"chatgpt\",\n \"claude\",\n \"gemini\",\n \"llama\"\n ]\n}",
1213
1209
  "node_modules/undici-types/agent.d.ts": "import { URL } from 'url'\nimport Pool from './pool'\nimport Dispatcher from \"./dispatcher\";\n\nexport default Agent\n\ndeclare class Agent extends Dispatcher{\n constructor(opts?: Agent.Options)\n /** `true` after `dispatcher.close()` has been called. */\n closed: boolean;\n /** `true` after `dispatcher.destroyed()` has been called or `dispatcher.close()` has been called and the dispatcher shutdown has completed. */\n destroyed: boolean;\n /** Dispatches a request. */\n dispatch(options: Agent.DispatchOptions, handler: Dispatcher.DispatchHandlers): boolean;\n}\n\ndeclare namespace Agent {\n export interface Options extends Pool.Options {\n /** Default: `(origin, opts) => new Pool(origin, opts)`. */\n factory?(origin: string | URL, opts: Object): Dispatcher;\n /** Integer. Default: `0` */\n maxRedirections?: number;\n\n interceptors?: { Agent?: readonly Dispatcher.DispatchInterceptor[] } & Pool.Options[\"interceptors\"]\n }\n\n export interface DispatchOptions extends Dispatcher.DispatchOptions {\n /** Integer. */\n maxRedirections?: number;\n }\n}\n",
1214
1210
  "node_modules/undici-types/api.d.ts": "import { URL, UrlObject } from 'url'\nimport { Duplex } from 'stream'\nimport Dispatcher from './dispatcher'\n\nexport {\n request,\n stream,\n pipeline,\n connect,\n upgrade,\n}\n\n/** Performs an HTTP request. */\ndeclare function request(\n url: string | URL | UrlObject,\n options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.RequestOptions, 'origin' | 'path' | 'method'> & Partial<Pick<Dispatcher.RequestOptions, 'method'>>,\n): Promise<Dispatcher.ResponseData>;\n\n/** A faster version of `request`. */\ndeclare function stream(\n url: string | URL | UrlObject,\n options: { dispatcher?: Dispatcher } & Omit<Dispatcher.RequestOptions, 'origin' | 'path'>,\n factory: Dispatcher.StreamFactory\n): Promise<Dispatcher.StreamData>;\n\n/** For easy use with `stream.pipeline`. */\ndeclare function pipeline(\n url: string | URL | UrlObject,\n options: { dispatcher?: Dispatcher } & Omit<Dispatcher.PipelineOptions, 'origin' | 'path'>,\n handler: Dispatcher.PipelineHandler\n): Duplex;\n\n/** Starts two-way communications with the requested resource. */\ndeclare function connect(\n url: string | URL | UrlObject,\n options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.ConnectOptions, 'origin' | 'path'>\n): Promise<Dispatcher.ConnectData>;\n\n/** Upgrade to a different protocol. */\ndeclare function upgrade(\n url: string | URL | UrlObject,\n options?: { dispatcher?: Dispatcher } & Omit<Dispatcher.UpgradeOptions, 'origin' | 'path'>\n): Promise<Dispatcher.UpgradeData>;\n",
1215
1211
  "node_modules/undici-types/balanced-pool.d.ts": "import Pool from './pool'\nimport Dispatcher from './dispatcher'\nimport { URL } from 'url'\n\nexport default BalancedPool\n\ntype BalancedPoolConnectOptions = Omit<Dispatcher.ConnectOptions, \"origin\">;\n\ndeclare class BalancedPool extends Dispatcher {\n constructor(url: string | string[] | URL | URL[], options?: Pool.Options);\n\n addUpstream(upstream: string | URL): BalancedPool;\n removeUpstream(upstream: string | URL): BalancedPool;\n upstreams: Array<string>;\n\n /** `true` after `pool.close()` has been called. */\n closed: boolean;\n /** `true` after `pool.destroyed()` has been called or `pool.close()` has been called and the pool shutdown has completed. */\n destroyed: boolean;\n\n // Override dispatcher APIs.\n override connect(\n options: BalancedPoolConnectOptions\n ): Promise<Dispatcher.ConnectData>;\n override connect(\n options: BalancedPoolConnectOptions,\n callback: (err: Error | null, data: Dispatcher.ConnectData) => void\n ): void;\n}\n",