@autobe/compiler 0.27.0 → 0.28.1
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/AutoBeCompilerTestTemplate.js +1 -1
- package/lib/raw/AutoBeCompilerTestTemplate.js.map +1 -1
- package/lib/raw/nestjs.json +42 -51
- package/lib/raw/test.json +23 -28
- package/package.json +9 -9
- package/src/raw/AutoBeCompilerTestTemplate.ts +1 -1
- package/src/raw/nestjs.json +42 -51
- package/src/raw/test.json +23 -28
package/src/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\": \"
|
|
11
|
+
"node_modules/@nestia/e2e/package.json": "{\n \"name\": \"@nestia/e2e\",\n \"version\": \"9.0.1\",\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\": \"
|
|
26
|
+
"node_modules/@nestia/fetcher/package.json": "{\n \"name\": \"@nestia/fetcher\",\n \"version\": \"9.0.1\",\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/
|
|
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/
|
|
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
|
|
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
|
|
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 {
|
|
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
|
|
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 *
|
|
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\": \"
|
|
134
|
+
"node_modules/@samchon/openapi/package.json": "{\n \"name\": \"@samchon/openapi\",\n \"version\": \"5.0.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",
|
|
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",
|
|
@@ -871,10 +867,10 @@
|
|
|
871
867
|
"node_modules/typia/lib/internal/_validateReport.d.ts": "import { IValidation } from \"../IValidation\";\nexport declare const _validateReport: (array: IValidation.IError[]) => (exceptable: boolean, error: IValidation.IError) => false;\n",
|
|
872
868
|
"node_modules/typia/lib/internal/private/__notationCapitalize.d.ts": "export declare const __notationCapitalize: (str: string) => string;\n",
|
|
873
869
|
"node_modules/typia/lib/internal/private/__notationUnsnake.d.ts": "export declare const __notationUnsnake: (props: {\n plain: (str: string) => string;\n snake: (str: string, index: number) => string;\n}) => (str: string) => string;\n",
|
|
874
|
-
"node_modules/typia/lib/json.d.ts": "import { IJsonSchemaCollection } from \"./schemas/json/IJsonSchemaCollection\";\nimport { IJsonSchemaUnit } from \"./schemas/json/IJsonSchemaUnit\";\nimport { IValidation } from \"./IValidation\";\nimport { Primitive } from \"./Primitive\";\nimport { TypeGuardError } from \"./TypeGuardError\";\n/**\n * > You must configure the generic argument `Types`.\n *\n * JSON Schemas Generator.\n *\n * Creates a JSON schema list which contains both main JSON schemas and\n * components. Note that, all of the named types are stored in the\n * {@link IJsonSchemaCollection.components} property for the `$ref` referencing.\n *\n * Also, you can specify the OpenAPI version by configuring the second generic\n * argument `Version`. For reference, the default version is `\"3.1\"`, and the\n * key difference between `\"3.0\"` and `\"3.1\"` is whether supporting the tuple\n * type or not.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Types Tuple of target types\n * @template Version Version of OpenAPI specification. Default is 3.1\n * @returns JSON schema collection\n */\nexport declare function schemas(): never;\n/**\n * JSON Schemas Generator.\n *\n * Creates a JSON schema list which contains both main JSON schemas and\n * components. Note that, all of the named types are stored in the\n * {@link IJsonSchemaCollection.components} property for the `$ref` referencing.\n *\n * Also, you can specify the OpenAPI version by configuring the second generic\n * argument `Version`. For reference, the default version is `\"3.1\"`, and the\n * key difference between `\"3.0\"` and `\"3.1\"` is whether supporting the tuple\n * type or not.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Types Tuple of target types\n * @template Version Version of OpenAPI specification. Default is 3.1\n * @returns JSON schema collection\n */\nexport declare function schemas<Types extends unknown[], Version extends \"3.0\" | \"3.1\" = \"3.1\">(): IJsonSchemaCollection<Version, Types>;\n/**\n * > You must configure the generic argument `Type`.\n *\n * JSON schema generator.\n *\n * Creates a JSON schema unit which contains a main JSON schema and its\n * components. Note that, all of the named types are stored in the\n * {@link IJsonSchemaUnit.components} property for the `$ref` referencing.\n *\n * Also, you can specify the OpenAPI version by configuring the second generic\n * argument `Version`. For reference, the default version is `\"3.1\"`, and key\n * different of `\"3.0\"` and `\"3.1\"` is whether supporting the tuple type or\n * not.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Type Target type\n * @template Version Version of OpenAPI specification. Default is 3.1\n * @returns JSON schema unit\n */\nexport declare function schema(): never;\n/**\n * JSON schema generator.\n *\n * Creates a JSON schema unit which contains a main JSON schema and its\n * components. Note that, all of the named types are stored in the\n * {@link IJsonSchemaUnit.components} property for the `$ref` referencing.\n *\n * Also, you can specify the OpenAPI version by configuring the second generic\n * argument `Version`. For reference, the default version is `\"3.1\"`, and key\n * different of `\"3.0\"` and `\"3.1\"` is whether supporting the tuple type or\n * not.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Type Target type\n * @template Version Version of OpenAPI specification. Default is 3.1\n * @returns JSON schema unit\n */\nexport declare function schema<Type extends unknown, Version extends \"3.0\" | \"3.1\" = \"3.1\">(): IJsonSchemaUnit<Version, Type>;\n/**\n * > You must configure the generic argument `T`.\n *\n * Safe `JSON.parse()` function with type assertion.\n *\n * `typia.json.assertParse()` is a combination function of `JSON.parse()` and\n * {@link assert}. Therefore, it converts a JSON (JavaScript Object Notation)\n * string to a `T` typed instance with type assertion.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it throws {@link TypeGuardError} or custom error generated by\n * _errorFactory_. Otherwise, if there's no problem with the parsed value, the\n * parsed value will be returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parsed value\n */\nexport declare function assertParse(input: string, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Safe `JSON.parse()` function with type assertion.\n *\n * `typia.json.assertParse()` is a combination function of `JSON.parse()` and\n * {@link assert}. Therefore, it converts a JSON (JavaScript Object Notation)\n * string to a `T` typed instance with type assertion.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it throws {@link TypeGuardError} or custom error generated by\n * _errorFactory_. Otherwise, there's no problem on the parsed value, the parsed\n * value would be returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parsed value\n */\nexport declare function assertParse<T>(input: string, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Primitive<T>;\n/**\n * > You must configure the generic argument `T`.\n *\n * Safe `JSON.parse()` function with type checking.\n *\n * `typia.json.isParse()` is a combination function of `JSON.parse()` and\n * {@link is}. Therefore, it converts a JSON (JavaScript Object Notation) string\n * to a `T` typed instance with type checking.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it returns `null` value. Otherwise, there's no problem on the parsed\n * value, the parsed value will be returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @returns Parsed value when exact type, otherwise `null`\n */\nexport declare function isParse(input: string): never;\n/**\n * Safe `JSON.parse()` function with type checking.\n *\n * `typia.json.isParse()` is a combination function of `JSON.parse()` and\n * {@link is}. Therefore, it converts a JSON (JavaScript Object Notation) string\n * to a `T` typed instance with type checking.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it returns `null` value. Otherwise, there's no problem on the parsed\n * value, the parsed value will be returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @returns Parsed value when exact type, otherwise `null`\n */\nexport declare function isParse<T>(input: string): Primitive<T> | null;\n/**\n * > You must configure the generic argument `T`.\n *\n * Safe `JSON.parse()` function with detailed type validation.\n *\n * `typia.json.validateParse()` is a combination function of `JSON.parse()` and\n * {@link validate}. Therefore, it converts a JSON (JavaScript Object Notation)\n * string to a `T` typed instance with detailed type validation.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it returns {@link IValidation.IFailure} value with detailed error\n * reasons. Otherwise, there's no problem on the parsed value, the parsed value\n * will be stored in `data` property of the output {@link IValidation.ISuccess}\n * instance.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @returns Validation result with JSON parsed value\n */\nexport declare function validateParse(input: string): never;\n/**\n * Safe `JSON.parse()` function with detailed type validation.\n *\n * `typia.json.validateParse()` is a combination function of `JSON.parse()` and\n * {@link validate}. Therefore, it converts a JSON (JavaScript Object Notation)\n * string to a `T` typed instance with detailed type validation.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it returns {@link IValidation.IFailure} value with detailed error\n * reasons. Otherwise, there's no problem on the parsed value, the parsed value\n * will be stored in `data` property of the output {@link IValidation.ISuccess}\n * instance.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @returns Validation result with JSON parsed value\n */\nexport declare function validateParse<T>(input: string): IValidation<Primitive<T>>;\n/**\n * 8x faster `JSON.stringify()` function.\n *\n * Converts an input value to a JSON (JavaScript Object Notation) string, about\n * 8x faster than the native `JSON.stringify()` function. The 5x faster\n * principle is because it writes an optimized JSON conversion plan, only for\n * the type `T`.\n *\n * For reference, this `typia.json.stringify()` does not validate the input\n * value type. It just believes that the input value is following the type `T`.\n * Therefore, if you can't ensure the input value type, it will be better to\n * call one of below functions instead.\n *\n * - {@link assertStringify}\n * - {@link isStringify}\n * - {@link validateStringify}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be converted\n * @returns JSON string value\n */\nexport declare function stringify<T>(input: T): string;\n/**\n * 5x faster `JSON.stringify()` function with type assertion.\n *\n * `typia.json.assertStringify()` is a combination function of {@link assert} and\n * {@link stringify}. Therefore, it converts an input value to JSON (JavaScript\n * Object Notation) string, with type assertion.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * throws an {@link TypeGuardError} or custom error generated by _errorFactory_.\n * Otherwise, there's no problem on the `input` value, JSON string will be\n * returned.\n *\n * For reference, with type assertion, it is even 5x times faster than the\n * native `JSON.stringify()` function. So, just enjoy the safe and fast JSON\n * conversion with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted and converted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns JSON string value\n */\nexport declare function assertStringify<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): string;\n/**\n * 5x faster `JSON.stringify()` function with type assertion.\n *\n * `typia.json.assertStringify()` is a combination function of {@link assert} and\n * {@link stringify}. Therefore, it converts an input value to JSON (JavaScript\n * Object Notation) string, with type assertion.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * throws an {@link TypeGuardError} or custom error generated by _errorFactory_.\n * Otherwise, there's no problem on the `input` value, JSON string will be\n * returned.\n *\n * For reference, with type assertion, it is even 5x times faster than the\n * native `JSON.stringify()` function. So, just enjoy the safe and fast JSON\n * conversion with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted and converted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns JSON string value\n */\nexport declare function assertStringify<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): unknown;\n/**\n * 7x faster `JSON.stringify()` function with type checking.\n *\n * `typia.json.stringify()` is a combination function of {@link is} and\n * {@link stringify}. Therefore, it converts an input value to JSON (JavaScript\n * Object Notation) string, with type checking.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns `null` value. Otherwise, there's no problem on the `input` value,\n * JSON string will be returned.\n *\n * For reference, with type checking, it is even 7x times faster than the native\n * `JSON.stringify()` function. So, just enjoy the safe and fast JSON conversion\n * with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be checked and converted\n * @returns JSON string value when exact type, otherwise null\n */\nexport declare function isStringify<T>(input: T): string | null;\n/**\n * 7x faster `JSON.stringify()` function with type checking.\n *\n * `typia.json.isStringify()` is a combination function of {@link is} and\n * {@link stringify}. Therefore, it converts an input value to JSON (JavaScript\n * Object Notation) string, with type checking.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns `null` value. Otherwise, there's no problem on the `input` value,\n * JSON string will be returned.\n *\n * For reference, with type checking, it is even 7x times faster than the native\n * `JSON.stringify()` function. So, just enjoy the safe and fast JSON conversion\n * with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be checked and converted\n * @returns JSON string value when exact type, otherwise null\n */\nexport declare function isStringify<T>(input: unknown): string | null;\n/**\n * 5x faster `JSON.stringify()` function with detailed type validation.\n *\n * `typia.json.validateStringify()` is a combination function of {@link validate}\n * and {@link stringify}. Therefore, it converts an input value to JSON\n * (JavaScript Object Notation) string, with detailed type validation.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns {@link IValidation.IFailure} value with detailed error reasons.\n * Otherwise, there's no problem on the `input` value, JSON string will be\n * stored in `data` property of the output {@link IValidation.ISuccess}\n * instance.\n *\n * For reference, with detailed type validation, it is even 5x times faster than\n * the native `JSON.stringify()` function. So, just enjoy the safe and fast JSON\n * conversion with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be checked and converted\n * @returns Validation result with JSON string value\n */\nexport declare function validateStringify<T>(input: T): IValidation<string>;\n/**\n * 5x faster `JSON.stringify()` function with detailed type validation.\n *\n * `typia.json.validateStringify()` is a combination function of {@link validate}\n * and {@link stringify}. Therefore, it converts an input value to JSON\n * (JavaScript Object Notation) string, with detailed type validation.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns {@link IValidation.IFailure} value with detailed error reasons.\n * Otherwise, there's no problem on the `input` value, JSON string will be\n * stored in `data` property of the output {@link IValidation.ISuccess}\n * instance.\n *\n * For reference, with detailed type validation, it is even 5x times faster than\n * the native `JSON.stringify()` function. So, just enjoy the safe and fast JSON\n * conversion with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be checked and converted\n * @returns Validation result with JSON string value\n */\nexport declare function validateStringify<T>(input: unknown): IValidation<string>;\n/**\n * Creates a reusable {@link isParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIsParse(): never;\n/**\n * Creates a reusable {@link isParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @returns A reusable `isParse` function\n */\nexport declare function createIsParse<T>(): (input: string) => Primitive<T> | null;\n/**\n * Creates a reusable {@link assertParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertParse(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertParse` function\n */\nexport declare function createAssertParse<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: string) => Primitive<T>;\n/**\n * Creates a reusable {@link validateParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidateParse(): never;\n/**\n * Creates a reusable {@link validateParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @returns A reusable `validateParse` function\n */\nexport declare function createValidateParse<T>(): (input: string) => IValidation<Primitive<T>>;\n/**\n * Creates a reusable {@link stringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createStringify(): never;\n/**\n * Creates a reusable {@link stringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `stringify` function\n */\nexport declare function createStringify<T>(): (input: T) => string;\n/**\n * Creates a reusable {@link assertStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertStringify(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertStringify` function\n */\nexport declare function createAssertStringify<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => string;\n/**\n * Creates a reusable {@link isStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIsStringify(): never;\n/**\n * Creates a reusable {@link isStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `isStringify` function\n */\nexport declare function createIsStringify<T>(): (input: unknown) => string | null;\n/**\n * Creates a reusable {@link validateStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidateStringify(): never;\n/**\n * Creates a reusable {@link validateStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `validateStringify` function\n */\nexport declare function createValidateStringify<T>(): (input: unknown) => IValidation<string>;\n",
|
|
870
|
+
"node_modules/typia/lib/json.d.ts": "import { IJsonSchemaApplication } from \"./schemas/json/IJsonSchemaApplication\";\nimport { IJsonSchemaCollection } from \"./schemas/json/IJsonSchemaCollection\";\nimport { IJsonSchemaUnit } from \"./schemas/json/IJsonSchemaUnit\";\nimport { IValidation } from \"./IValidation\";\nimport { Primitive } from \"./Primitive\";\nimport { TypeGuardError } from \"./TypeGuardError\";\n/**\n * > You must configure the generic argument `Type`.\n *\n * JSON schema generator.\n *\n * Creates a JSON schema unit which contains a main JSON schema and its\n * components. Note that, all of the named types are stored in the\n * {@link IJsonSchemaUnit.components} property for the `$ref` referencing.\n *\n * Also, you can specify the OpenAPI version by configuring the second generic\n * argument `Version`. For reference, the default version is `\"3.1\"`, and key\n * different of `\"3.0\"` and `\"3.1\"` is whether supporting the tuple type or\n * not.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Type Target type\n * @template Version Version of OpenAPI specification. Default is 3.1\n * @returns JSON schema unit\n */\nexport declare function schema(): never;\n/**\n * JSON schema generator.\n *\n * Creates a JSON schema unit which contains a main JSON schema and its\n * components. Note that, all of the named types are stored in the\n * {@link IJsonSchemaUnit.components} property for the `$ref` referencing.\n *\n * Also, you can specify the OpenAPI version by configuring the second generic\n * argument `Version`. For reference, the default version is `\"3.1\"`, and key\n * different of `\"3.0\"` and `\"3.1\"` is whether supporting the tuple type or\n * not.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Type Target type\n * @template Version Version of OpenAPI specification. Default is 3.1\n * @returns JSON schema unit\n */\nexport declare function schema<Type extends unknown, Version extends \"3.0\" | \"3.1\" = \"3.1\">(): IJsonSchemaUnit<Version, Type>;\n/**\n * > You must configure the generic argument `Types`.\n *\n * JSON Schemas Generator.\n *\n * Creates a JSON schema list which contains both main JSON schemas and\n * components. Note that, all of the named types are stored in the\n * {@link IJsonSchemaCollection.components} property for the `$ref` referencing.\n *\n * Also, you can specify the OpenAPI version by configuring the second generic\n * argument `Version`. For reference, the default version is `\"3.1\"`, and the\n * key difference between `\"3.0\"` and `\"3.1\"` is whether supporting the tuple\n * type or not.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Types Tuple of target types\n * @template Version Version of OpenAPI specification. Default is 3.1\n * @returns JSON schema collection\n */\nexport declare function schemas(): never;\n/**\n * JSON Schemas Generator.\n *\n * Creates a JSON schema list which contains both main JSON schemas and\n * components. Note that, all of the named types are stored in the\n * {@link IJsonSchemaCollection.components} property for the `$ref` referencing.\n *\n * Also, you can specify the OpenAPI version by configuring the second generic\n * argument `Version`. For reference, the default version is `\"3.1\"`, and the\n * key difference between `\"3.0\"` and `\"3.1\"` is whether supporting the tuple\n * type or not.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Types Tuple of target types\n * @template Version Version of OpenAPI specification. Default is 3.1\n * @returns JSON schema collection\n */\nexport declare function schemas<Types extends unknown[], Version extends \"3.0\" | \"3.1\" = \"3.1\">(): IJsonSchemaCollection<Version, Types>;\n/**\n * > You must configure the generic argument `Class`.\n *\n * TypeScript class to JSON function schema application.\n *\n * Creates a JSON function schema application from a TypeScript class or\n * interface type containing the target functions. This is an intermediate-level\n * function designed for professional developers who want to build custom LLM\n * function calling schemas or need to transform class methods into structured\n * JSON schema representations.\n *\n * Unlike {@link schema} which creates a schema for a single type, this function\n * analyzes an entire class/interface and generates JSON schemas for all its\n * methods, their parameters, and return types. The returned\n * {@link IJsonSchemaApplication} contains:\n *\n * - {@link IJsonSchemaApplication.functions}: Array of function metadata with\n * parameter and return type schemas\n * - {@link IJsonSchemaApplication.components}: Shared schema components for `$ref`\n * referencing\n *\n * This function serves as the underlying implementation for\n * {@link llm.application}, and can be used when you need to:\n *\n * - Create your own custom LLM function calling schema format\n * - Transform class methods into structured JSON schema format\n * - Build API documentation or code generation tools\n * - Develop alternative LLM integrations beyond the built-in providers\n *\n * For direct LLM function calling implementations, consider using\n * {@link llm.application} instead, which provides provider-specific schemas for\n * ChatGPT, Claude, Gemini, and other LLM providers.\n *\n * Also, you can specify the OpenAPI version by configuring the second generic\n * argument `Version`. For reference, the default version is `\"3.1\"`, and the\n * key difference between `\"3.0\"` and `\"3.1\"` is whether supporting the tuple\n * type or not.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Class Target class or interface type containing the functions\n * @template Version Version of OpenAPI specification. Default is 3.1\n * @returns JSON function schema application\n */\nexport declare function application(): never;\n/**\n * TypeScript class to JSON function schema application.\n *\n * Creates a JSON function schema application from a TypeScript class or\n * interface type containing the target functions. This is an intermediate-level\n * function designed for professional developers who want to build custom LLM\n * function calling schemas or need to transform class methods into structured\n * JSON schema representations.\n *\n * Unlike {@link schema} which creates a schema for a single type, this function\n * analyzes an entire class/interface and generates JSON schemas for all its\n * methods, their parameters, and return types. The returned\n * {@link IJsonSchemaApplication} contains:\n *\n * - {@link IJsonSchemaApplication.functions}: Array of function metadata with\n * parameter and return type schemas\n * - {@link IJsonSchemaApplication.components}: Shared schema components for `$ref`\n * referencing\n *\n * This function serves as the underlying implementation for\n * {@link llm.application}, and can be used when you need to:\n *\n * - Create your own custom LLM function calling schema format\n * - Transform class methods into structured JSON schema format\n * - Build API documentation or code generation tools\n * - Develop alternative LLM integrations beyond the built-in providers\n *\n * For direct LLM function calling implementations, consider using\n * {@link llm.application} instead, which provides provider-specific schemas for\n * ChatGPT, Claude, Gemini, and other LLM providers.\n *\n * Also, you can specify the OpenAPI version by configuring the second generic\n * argument `Version`. For reference, the default version is `\"3.1\"`, and the\n * key difference between `\"3.0\"` and `\"3.1\"` is whether supporting the tuple\n * type or not.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Class Target class or interface type containing the functions\n * @template Version Version of OpenAPI specification. Default is 3.1\n * @returns JSON function schema application\n */\nexport declare function application<Class extends object, Version extends \"3.0\" | \"3.1\" = \"3.1\">(): IJsonSchemaApplication<Version, Class>;\n/**\n * > You must configure the generic argument `T`.\n *\n * Safe `JSON.parse()` function with type assertion.\n *\n * `typia.json.assertParse()` is a combination function of `JSON.parse()` and\n * {@link assert}. Therefore, it converts a JSON (JavaScript Object Notation)\n * string to a `T` typed instance with type assertion.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it throws {@link TypeGuardError} or custom error generated by\n * _errorFactory_. Otherwise, if there's no problem with the parsed value, the\n * parsed value will be returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parsed value\n */\nexport declare function assertParse(input: string, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Safe `JSON.parse()` function with type assertion.\n *\n * `typia.json.assertParse()` is a combination function of `JSON.parse()` and\n * {@link assert}. Therefore, it converts a JSON (JavaScript Object Notation)\n * string to a `T` typed instance with type assertion.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it throws {@link TypeGuardError} or custom error generated by\n * _errorFactory_. Otherwise, there's no problem on the parsed value, the parsed\n * value would be returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parsed value\n */\nexport declare function assertParse<T>(input: string, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Primitive<T>;\n/**\n * > You must configure the generic argument `T`.\n *\n * Safe `JSON.parse()` function with type checking.\n *\n * `typia.json.isParse()` is a combination function of `JSON.parse()` and\n * {@link is}. Therefore, it converts a JSON (JavaScript Object Notation) string\n * to a `T` typed instance with type checking.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it returns `null` value. Otherwise, there's no problem on the parsed\n * value, the parsed value will be returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @returns Parsed value when exact type, otherwise `null`\n */\nexport declare function isParse(input: string): never;\n/**\n * Safe `JSON.parse()` function with type checking.\n *\n * `typia.json.isParse()` is a combination function of `JSON.parse()` and\n * {@link is}. Therefore, it converts a JSON (JavaScript Object Notation) string\n * to a `T` typed instance with type checking.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it returns `null` value. Otherwise, there's no problem on the parsed\n * value, the parsed value will be returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @returns Parsed value when exact type, otherwise `null`\n */\nexport declare function isParse<T>(input: string): Primitive<T> | null;\n/**\n * > You must configure the generic argument `T`.\n *\n * Safe `JSON.parse()` function with detailed type validation.\n *\n * `typia.json.validateParse()` is a combination function of `JSON.parse()` and\n * {@link validate}. Therefore, it converts a JSON (JavaScript Object Notation)\n * string to a `T` typed instance with detailed type validation.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it returns {@link IValidation.IFailure} value with detailed error\n * reasons. Otherwise, there's no problem on the parsed value, the parsed value\n * will be stored in `data` property of the output {@link IValidation.ISuccess}\n * instance.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @returns Validation result with JSON parsed value\n */\nexport declare function validateParse(input: string): never;\n/**\n * Safe `JSON.parse()` function with detailed type validation.\n *\n * `typia.json.validateParse()` is a combination function of `JSON.parse()` and\n * {@link validate}. Therefore, it converts a JSON (JavaScript Object Notation)\n * string to a `T` typed instance with detailed type validation.\n *\n * In such reason, when parsed JSON string value is not matched with the type\n * `T`, it returns {@link IValidation.IFailure} value with detailed error\n * reasons. Otherwise, there's no problem on the parsed value, the parsed value\n * will be stored in `data` property of the output {@link IValidation.ISuccess}\n * instance.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param input JSON string\n * @returns Validation result with JSON parsed value\n */\nexport declare function validateParse<T>(input: string): IValidation<Primitive<T>>;\n/**\n * 8x faster `JSON.stringify()` function.\n *\n * Converts an input value to a JSON (JavaScript Object Notation) string, about\n * 8x faster than the native `JSON.stringify()` function. The 5x faster\n * principle is because it writes an optimized JSON conversion plan, only for\n * the type `T`.\n *\n * For reference, this `typia.json.stringify()` does not validate the input\n * value type. It just believes that the input value is following the type `T`.\n * Therefore, if you can't ensure the input value type, it will be better to\n * call one of below functions instead.\n *\n * - {@link assertStringify}\n * - {@link isStringify}\n * - {@link validateStringify}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be converted\n * @returns JSON string value\n */\nexport declare function stringify<T>(input: T): string;\n/**\n * 5x faster `JSON.stringify()` function with type assertion.\n *\n * `typia.json.assertStringify()` is a combination function of {@link assert} and\n * {@link stringify}. Therefore, it converts an input value to JSON (JavaScript\n * Object Notation) string, with type assertion.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * throws an {@link TypeGuardError} or custom error generated by _errorFactory_.\n * Otherwise, there's no problem on the `input` value, JSON string will be\n * returned.\n *\n * For reference, with type assertion, it is even 5x times faster than the\n * native `JSON.stringify()` function. So, just enjoy the safe and fast JSON\n * conversion with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted and converted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns JSON string value\n */\nexport declare function assertStringify<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): string;\n/**\n * 5x faster `JSON.stringify()` function with type assertion.\n *\n * `typia.json.assertStringify()` is a combination function of {@link assert} and\n * {@link stringify}. Therefore, it converts an input value to JSON (JavaScript\n * Object Notation) string, with type assertion.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * throws an {@link TypeGuardError} or custom error generated by _errorFactory_.\n * Otherwise, there's no problem on the `input` value, JSON string will be\n * returned.\n *\n * For reference, with type assertion, it is even 5x times faster than the\n * native `JSON.stringify()` function. So, just enjoy the safe and fast JSON\n * conversion with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted and converted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns JSON string value\n */\nexport declare function assertStringify<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): unknown;\n/**\n * 7x faster `JSON.stringify()` function with type checking.\n *\n * `typia.json.stringify()` is a combination function of {@link is} and\n * {@link stringify}. Therefore, it converts an input value to JSON (JavaScript\n * Object Notation) string, with type checking.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns `null` value. Otherwise, there's no problem on the `input` value,\n * JSON string will be returned.\n *\n * For reference, with type checking, it is even 7x times faster than the native\n * `JSON.stringify()` function. So, just enjoy the safe and fast JSON conversion\n * with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be checked and converted\n * @returns JSON string value when exact type, otherwise null\n */\nexport declare function isStringify<T>(input: T): string | null;\n/**\n * 7x faster `JSON.stringify()` function with type checking.\n *\n * `typia.json.isStringify()` is a combination function of {@link is} and\n * {@link stringify}. Therefore, it converts an input value to JSON (JavaScript\n * Object Notation) string, with type checking.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns `null` value. Otherwise, there's no problem on the `input` value,\n * JSON string will be returned.\n *\n * For reference, with type checking, it is even 7x times faster than the native\n * `JSON.stringify()` function. So, just enjoy the safe and fast JSON conversion\n * with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be checked and converted\n * @returns JSON string value when exact type, otherwise null\n */\nexport declare function isStringify<T>(input: unknown): string | null;\n/**\n * 5x faster `JSON.stringify()` function with detailed type validation.\n *\n * `typia.json.validateStringify()` is a combination function of {@link validate}\n * and {@link stringify}. Therefore, it converts an input value to JSON\n * (JavaScript Object Notation) string, with detailed type validation.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns {@link IValidation.IFailure} value with detailed error reasons.\n * Otherwise, there's no problem on the `input` value, JSON string will be\n * stored in `data` property of the output {@link IValidation.ISuccess}\n * instance.\n *\n * For reference, with detailed type validation, it is even 5x times faster than\n * the native `JSON.stringify()` function. So, just enjoy the safe and fast JSON\n * conversion with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be checked and converted\n * @returns Validation result with JSON string value\n */\nexport declare function validateStringify<T>(input: T): IValidation<string>;\n/**\n * 5x faster `JSON.stringify()` function with detailed type validation.\n *\n * `typia.json.validateStringify()` is a combination function of {@link validate}\n * and {@link stringify}. Therefore, it converts an input value to JSON\n * (JavaScript Object Notation) string, with detailed type validation.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns {@link IValidation.IFailure} value with detailed error reasons.\n * Otherwise, there's no problem on the `input` value, JSON string will be\n * stored in `data` property of the output {@link IValidation.ISuccess}\n * instance.\n *\n * For reference, with detailed type validation, it is even 5x times faster than\n * the native `JSON.stringify()` function. So, just enjoy the safe and fast JSON\n * conversion with confidence.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be checked and converted\n * @returns Validation result with JSON string value\n */\nexport declare function validateStringify<T>(input: unknown): IValidation<string>;\n/**\n * Creates a reusable {@link isParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIsParse(): never;\n/**\n * Creates a reusable {@link isParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @returns A reusable `isParse` function\n */\nexport declare function createIsParse<T>(): (input: string) => Primitive<T> | null;\n/**\n * Creates a reusable {@link assertParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertParse(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertParse` function\n */\nexport declare function createAssertParse<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: string) => Primitive<T>;\n/**\n * Creates a reusable {@link validateParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidateParse(): never;\n/**\n * Creates a reusable {@link validateParse} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of parsed value\n * @returns A reusable `validateParse` function\n */\nexport declare function createValidateParse<T>(): (input: string) => IValidation<Primitive<T>>;\n/**\n * Creates a reusable {@link stringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createStringify(): never;\n/**\n * Creates a reusable {@link stringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `stringify` function\n */\nexport declare function createStringify<T>(): (input: T) => string;\n/**\n * Creates a reusable {@link assertStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertStringify(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertStringify` function\n */\nexport declare function createAssertStringify<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => string;\n/**\n * Creates a reusable {@link isStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIsStringify(): never;\n/**\n * Creates a reusable {@link isStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `isStringify` function\n */\nexport declare function createIsStringify<T>(): (input: unknown) => string | null;\n/**\n * Creates a reusable {@link validateStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidateStringify(): never;\n/**\n * Creates a reusable {@link validateStringify} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `validateStringify` function\n */\nexport declare function createValidateStringify<T>(): (input: unknown) => IValidation<string>;\n",
|
|
875
871
|
"node_modules/typia/lib/llm.d.ts": "import { ILlmApplication, ILlmController, ILlmSchema } from \"@samchon/openapi\";\n/**\n * > You must configure the generic argument `Class`.\n *\n * TypeScript functions to LLM function calling controller.\n *\n * Creates a controller of LLM (Large Language Model) function calling from a\n * TypeScript class or interface type containing the target functions to be\n * called by the LLM function calling feature. The returned controller contains\n * not only the {@link application} of\n * {@link ILlmFunction function calling schemas}, but also the\n * {@link ILlmController.execute executor} of the functions.\n *\n * If you put the returned {@link ILlmController} to the LLM provider like\n * [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select\n * the proper function and fill its arguments from the conversation (maybe\n * chatting text) with user (human). And you can actually call the function by\n * using {@link ILlmController.execute} property. This is the concept of the LLM\n * function calling.\n *\n * Here is an example of using `typia.llm.controller()` function for AI agent\n * development of performing such AI function calling to mobile API classes\n * through this `typia` and external `@agentica` libraries.\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 * Here is the list of available `Model` types with their corresponding LLM\n * schema. Reading the following list, and determine the `Model` type\n * considering the characteristics of the target LLM provider.\n *\n * - LLM provider schemas\n *\n * - `chatgpt`:\n * [`IChatGptSchema`](https://samchon.github.io/openapi/api/types/IChatGptSchema-1.html)\n * - `claude`:\n * [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `deepseek`:\n * [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `gemini`:\n * [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)\n * - `llama`:\n * [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)\n * - Middle layer schemas\n *\n * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)\n * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Class Target class or interface type collecting the functions to\n * call\n * @template Model LLM schema model\n * @template Config Configuration of LLM schema composition\n * @param name Identifier name of the controller\n * @param execute Executor instance\n * @param options Options for the LLM application construction\n * @returns Controller of LLM function calling\n * @reference https://wrtnlabs.io/agentica/docs/core/controller/typescript/\n */\nexport declare function controller(name: string, execute: object, options?: Partial<Pick<ILlmApplication.IOptions<any, any>, \"separate\" | \"validate\">>): never;\n/**\n * TypeScript functions to LLM function calling controller.\n *\n * Creates a controller of LLM (Large Language Model) function calling from a\n * TypeScript class or interface type containing the target functions to be\n * called by the LLM function calling feature. The returned controller contains\n * not only the {@link application} of\n * {@link ILlmFunction function calling schemas}, but also the\n * {@link ILlmController.execute executor} of the functions.\n *\n * If you put the returned {@link ILlmController} to the LLM provider like\n * [OpenAI (ChatGPT)](https://openai.com/), the LLM will automatically select\n * the proper function and fill its arguments from the conversation (maybe\n * chatting text) with user (human). And you can actually call the function by\n * using {@link ILlmController.execute} property. This is the concept of the LLM\n * function calling.\n *\n * Here is an example of using `typia.llm.controller()` function for AI agent\n * development of performing such AI function calling to mobile API classes\n * through this `typia` and external `@agentica` libraries.\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 * Here is the list of available `Model` types with their corresponding LLM\n * schema. Reading the following list, and determine the `Model` type\n * considering the characteristics of the target LLM provider.\n *\n * - LLM provider schemas\n *\n * - `chatgpt`:\n * [`IChatGptSchema`](https://samchon.github.io/openapi/api/types/IChatGptSchema-1.html)\n * - `claude`:\n * [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `deepseek`:\n * [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `gemini`:\n * [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)\n * - `llama`:\n * [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)\n * - Middle layer schemas\n *\n * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)\n * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Class Target class or interface type collecting the functions to\n * call\n * @template Model LLM schema model\n * @template Config Configuration of LLM schema composition\n * @param name Identifier name of the controller\n * @param execute Executor instance\n * @param options Options for the LLM application construction\n * @returns Controller of LLM function calling\n * @reference https://wrtnlabs.io/agentica/docs/core/controller/typescript/\n */\nexport declare function controller<Class extends Record<string, any>, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model] & {\n /**\n * Whether to disallow superfluous properties or not.\n *\n * If configure as `true`, {@link validateEquals} function would be used\n * for validation feedback, which is more strict than {@link validate}\n * function.\n *\n * @default false\n */\n equals: boolean;\n}> = {}>(name: string, execute: Class, options?: Partial<Pick<ILlmApplication.IOptions<Model, Class>, \"separate\" | \"validate\">>): ILlmController<Model>;\n/**\n * > You must configure the generic argument `Class`.\n *\n * TypeScript functions to LLM function calling application.\n *\n * Creates an application of LLM (Large Language Model) function calling\n * application from a TypeScript class or interface type containing the target\n * functions to be called by the LLM function calling feature.\n *\n * If you put the returned {@link ILlmApplication.functions} objects to the LLM\n * provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will\n * automatically select the proper function and fill its arguments from the\n * conversation (maybe chatting text) with user (human). This is the concept of\n * the LLM function calling.\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 security keys (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 ILlmApplication.IOptions.separate} property. The\n * separated parameters are assigned to the {@link ILlmFunction.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 with the LLM prepared arguments. And then informs the\n * return value to the LLM by system prompt. The LLM will continue the next\n * conversation based on the return value.\n *\n * Additionally, if you've configured {@link ILlmApplication.IOptions.separate},\n * so that the parameters are separated to human and LLM sides, you can merge\n * these human and LLM sides' parameters into one through\n * {@link HttpLlm.mergeParameters} before the actual LLM function call\n * execution.\n *\n * Here is the list of available `Model` types with their corresponding LLM\n * schema. Reading the following list, and determine the `Model` type\n * considering the characteristics of the target LLM provider.\n *\n * - LLM provider schemas\n *\n * - `chatgpt`:\n * [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)\n * - `claude`:\n * [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `deepseek`:\n * [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `gemini`:\n * [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)\n * - `llama`:\n * [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)\n * - Middle layer schemas\n *\n * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)\n * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Class Target class or interface type collecting the functions to\n * call\n * @template Model LLM schema model\n * @template Config Configuration of LLM schema composition\n * @param options Options for the LLM application construction\n * @returns Application of LLM function calling schemas\n * @reference https://platform.openai.com/docs/guides/function-calling\n */\nexport declare function application(options?: Partial<Pick<ILlmApplication.IOptions<any, any>, \"separate\" | \"validate\">>): never;\n/**\n * TypeScript functions to LLM function calling application.\n *\n * Creates an application of LLM (Large Language Model) function calling\n * application from a TypeScript class or interface type containing the target\n * functions to be called by the LLM function calling feature.\n *\n * If you put the returned {@link ILlmApplication.functions} objects to the LLM\n * provider like [OpenAI (ChatGPT)](https://openai.com/), the LLM will\n * automatically select the proper function and fill its arguments from the\n * conversation (maybe chatting text) with user (human). This is the concept of\n * the LLM function calling.\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 security keys (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 ILlmApplication.IOptions.separate} property. The\n * separated parameters are assigned to the {@link ILlmFunction.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 with the LLM prepared arguments. And then informs the\n * return value to the LLM by system prompt. The LLM will continue the next\n * conversation based on the return value.\n *\n * Additionally, if you've configured {@link ILlmApplication.IOptions.separate},\n * so that the parameters are separated to human and LLM sides, you can merge\n * these human and LLM sides' parameters into one through\n * {@link HttpLlm.mergeParameters} before the actual LLM function call\n * execution.\n *\n * Here is the list of available `Model` types with their corresponding LLM\n * schema. Reading the following list, and determine the `Model` type\n * considering the characteristics of the target LLM provider.\n *\n * - LLM provider schemas\n *\n * - `chatgpt`:\n * [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)\n * - `claude`:\n * [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `deepseek`:\n * [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `gemini`:\n * [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)\n * - `llama`:\n * [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)\n * - Middle layer schemas\n *\n * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)\n * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Class Target class or interface type collecting the functions to\n * call\n * @template Model LLM schema model\n * @template Config Configuration of LLM schema composition\n * @param options Options for the LLM application construction\n * @returns Application of LLM function calling schemas\n * @reference https://platform.openai.com/docs/guides/function-calling\n */\nexport declare function application<Class extends Record<string, any>, Model extends ILlmSchema.Model, Config extends Partial<{\n /**\n * Whether to disallow superfluous properties or not.\n *\n * If configure as `true`, {@link validateEquals} function would be used\n * for validation feedback, which is more strict than {@link validate}\n * function.\n *\n * @default false\n */\n equals: boolean;\n} & ILlmSchema.ModelConfig[Model]> = {}>(options?: Partial<Pick<ILlmApplication.IOptions<Model, Class>, \"separate\" | \"validate\">>): ILlmApplication<Model, Class>;\n/**\n * > You must configure the generic argument `Parameters`.\n *\n * TypeScript parameters to LLM parameters schema.\n *\n * Creates an LLM (Large Language Model) parameters schema, a type metadata that\n * is used in the [LLM function\n * calling](https://platform.openai.com/docs/guides/function-calling) and [LLM\n * structured\n * outputs](https://platform.openai.com/docs/guides/structured-outputs), from a\n * TypeScript parameters type.\n *\n * For references, LLM identifies only keyworded arguments, not positional\n * arguments. Therefore, the TypeScript parameters type must be an object type,\n * and its properties must be static. If dynamic properties are, it will be\n * compilation error.\n *\n * Also, such parameters type can be utilized not only for the LLM function\n * calling, but also for the LLM structured outputs. The LLM structured outputs\n * is a feature that LLM (Large Language Model) can generate a structured\n * output, not only a plain text, by filling the parameters from the\n * conversation (maybe chatting text) with user (human).\n *\n * Here is the list of available `Model` types with their corresponding LLM\n * schema. Reading the following list, and determine the `Model` type\n * considering the characteristics of the target LLM provider.\n *\n * - LLM provider schemas\n *\n * - `chatgpt`:\n * [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)\n * - `claude`:\n * [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `deepseek`:\n * [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `gemini`:\n * [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)\n * - `llama`:\n * [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)\n * - Middle layer schemas\n *\n * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)\n * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)\n *\n * @template Parameters Target parameters type\n * @template Model LLM schema model\n * @template Config Configuration of LLM schema composition\n * @returns LLM parameters schema\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\nexport declare function parameters(): never;\n/**\n * TypeScript parameters to LLM parameters schema.\n *\n * Creates an LLM (Large Language Model) parameters schema, a type metadata that\n * is used in the [LLM function\n * calling](https://platform.openai.com/docs/guides/function-calling) and [LLM\n * structured\n * outputs](https://platform.openai.com/docs/guides/structured-outputs), from a\n * TypeScript parameters type.\n *\n * For references, LLM identifies only keyworded arguments, not positional\n * arguments. Therefore, the TypeScript parameters type must be an object type,\n * and its properties must be static. If dynamic properties are, it will be\n * compilation error.\n *\n * Also, such parameters type can be utilized not only for the LLM function\n * calling, but also for the LLM structured outputs. The LLM structured outputs\n * is a feature that LLM (Large Language Model) can generate a structured\n * output, not only a plain text, by filling the parameters from the\n * conversation (maybe chatting text) with user (human).\n *\n * Here is the list of available `Model` types with their corresponding LLM\n * schema. Reading the following list, and determine the `Model` type\n * considering the characteristics of the target LLM provider.\n *\n * - LLM provider schemas\n *\n * - `chatgpt`:\n * [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)\n * - `claude`:\n * [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `deepseek`:\n * [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `gemini`:\n * [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)\n * - `llama`:\n * [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)\n * - Middle layer schemas\n *\n * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)\n * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)\n *\n * @template Parameters Target parameters type\n * @template Model LLM schema model\n * @template Config Configuration of LLM schema composition\n * @returns LLM parameters schema\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\nexport declare function parameters<Parameters extends Record<string, any>, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model]> = {}>(): ILlmSchema.ModelParameters[Model];\n/**\n * > You must configure the generic argument `T`.\n *\n * TypeScript type to LLM type schema.\n *\n * Creates an LLM (Large Language Model) type schema, a type metadata that is\n * used in the [LLM function calling](@reference\n * https://platform.openai.com/docs/guides/function-calling), from a TypeScript\n * type.\n *\n * The returned {@link ILlmSchema} type will be specified by the `Model`\n * argument, and here is the list of available `Model` types with their\n * corresponding LLM schema. Reading the following list, and determine the\n * `Model` type considering the characteristics of the target LLM provider.\n *\n * - LLM provider schemas\n *\n * - `chatgpt`:\n * [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)\n * - `claude`:\n * [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `deepseek`:\n * [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `gemini`:\n * [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)\n * - `llama`:\n * [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)\n * - Middle layer schemas\n *\n * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)\n * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)\n *\n * If you actually want to perform the LLM function calling with TypeScript\n * functions, you can do it with the {@link application} function. Otherwise you\n * hope to perform the structured output, {@link parameters} function is better.\n * Let's enjoy the LLM function calling and structured output with the native\n * TypeScript functions and types.\n *\n * > **What LLM function calling is?\n *\n * > LLM (Large Language Model) selects property function and fill the arguments,\n * > but actual function call execution is not by LLM, but by you.\n *\n * > In nowadays, most LLM (Large Language Model) like OpenAI are supporting\n * > \"function calling\" feature. The \"function calling\" means that LLM\n * > automatically selects a proper function and compose parameter values from the\n * > user's chatting text.\n *\n * > When LLM selects the proper function and its arguments, you just call the\n * > function with the arguments. And then informs the return value to the LLM by\n * > system prompt, LLM will continue the next conversation based on the return\n * > value.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @template Model LLM schema model\n * @template Config Configuration of LLM schema composition\n * @returns LLM schema\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\nexport declare function schema(): never;\n/**\n * TypeScript type to LLM type schema.\n *\n * Creates an LLM (Large Language Model) type schema, a type metadata that is\n * used in the [LLM function calling](@reference\n * https://platform.openai.com/docs/guides/function-calling), from a TypeScript\n * type.\n *\n * The returned {@link ILlmSchema} type will be specified by the `Model`\n * argument, and here is the list of available `Model` types with their\n * corresponding LLM schema:\n *\n * - LLM provider schemas\n *\n * - `chatgpt`:\n * [`IChatGptSchema`](https://github.com/samchon/openapi/blob/master/src/structures/IChatGptSchema.ts)\n * - `claude`:\n * [`IClaudeSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `deepseek`:\n * [`IDeepSeekSchema`](https://samchon.github.io/openapi/api/types/IClaudeSchema-1.html)\n * - `gemini`:\n * [`IGeminiSchema`](https://samchon.github.io/openapi/api/types/IGeminiSchema-1.html)\n * - `llama`:\n * [`ILlamaSchema`](https://samchon.github.io/openapi/api/types/ILlamaSchema-1.html)\n * - Middle layer schemas\n *\n * - `3.0`: [`ILlmSchemaV3`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3-1.html)\n * - `3.1`: [`ILlmSchemaV3_1`](https://samchon.github.io/openapi/api/types/ILlmSchemaV3_1-1.html)\n *\n * If you actually want to perform the LLM function calling with TypeScript\n * functions, you can do it with the {@link application} function. Otherwise you\n * hope to perform the structured output, {@link parameters} function is better.\n * Let's enjoy the LLM function calling and structured output with the native\n * TypeScript functions and types.\n *\n * > **What LLM function calling is?\n *\n * > LLM (Large Language Model) selects property function and fill the arguments,\n * > but actual function call execution is not by LLM, but by you.\n *\n * > In nowadays, most LLM (Large Language Model) like OpenAI are supporting\n * > \"function calling\" feature. The \"function calling\" means that LLM\n * > automatically selects a proper function and compose parameter values from the\n * > user's chatting text.\n *\n * > When LLM selects the proper function and its arguments, you just call the\n * > function with the arguments. And then informs the return value to the LLM by\n * > system prompt, LLM will continue the next conversation based on the return\n * > value.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @template Model LLM schema model\n * @template Config Configuration of LLM schema composition\n * @returns LLM schema\n * @reference https://platform.openai.com/docs/guides/function-calling\n * @reference https://platform.openai.com/docs/guides/structured-outputs\n */\nexport declare function schema<T, Model extends ILlmSchema.Model, Config extends Partial<ILlmSchema.ModelConfig[Model]> = {}>(...$defs: Extract<ILlmSchema.ModelSchema[Model], {\n $ref: string;\n}> extends never ? [] : [Record<string, ILlmSchema.ModelSchema[Model]>]): ILlmSchema.ModelSchema[Model];\n",
|
|
876
872
|
"node_modules/typia/lib/misc.d.ts": "import { Atomic } from \"./typings/Atomic\";\nimport { IValidation } from \"./IValidation\";\nimport { Resolved } from \"./Resolved\";\nimport { TypeGuardError } from \"./TypeGuardError\";\n/**\n * > You must configure the generic argument `T`.\n *\n * Union literal type to array.\n *\n * Converts a union literal type to an array of its members.\n *\n * ```typescript\n * literals<\"A\" | \"B\" | 1>; // [\"A\", \"B\", 1]\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Union literal type\n * @returns Array of union literal type's members\n */\nexport declare function literals(): never;\n/**\n * Union literal type to array.\n *\n * Converts a union literal type to an array of its members.\n *\n * ```typescript\n * literals<\"A\" | \"B\" | 1>; // [\"A\", \"B\", 1]\n * ```\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Union literal type\n * @returns Array of union literal type's members\n */\nexport declare function literals<T extends Atomic.Type | null>(): T[];\n/**\n * Clone data.\n *\n * Clones an instance following type `T`. If the target _input_ value or its\n * member variable contains a class instance having methods, those methods would\n * not be cloned.\n *\n * For reference, this `typia.misc.clone()` function does not validate the input\n * value type. It just believes that the input value is following the type `T`.\n * Therefore, if you can't ensure the input value type, it would be better to\n * call {@link assertClone} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be cloned\n * @returns Cloned data\n */\nexport declare function clone<T>(input: T): Resolved<T>;\n/**\n * Clone data with type assertion.\n *\n * Clones an instance following type `T`, with type assertion. If the target\n * `input` value or its member variable contains a class instance having\n * methods, those methods would not be cloned.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * throws an {@link TypeGuardError} or custom error generated by _errorFactory_.\n * Otherwise, there's no problem on the `input` value, cloned data would be\n * returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be cloned\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Cloned data\n */\nexport declare function assertClone<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Resolved<T>;\n/**\n * Clone data with type assertion.\n *\n * Clones an instance following type `T`, with type assertion. If the target\n * `input` value or its member variable contains a class instance having\n * methods, those methods would not be cloned.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * throws an {@link TypeGuardError} or custom error generated by _errorFactory_.\n * Otherwise, there's no problem on the `input` value, cloned data would be\n * returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be cloned\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Cloned data\n */\nexport declare function assertClone<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Resolved<T>;\n/**\n * Clone data with type checking.\n *\n * Clones an instance following type `T`, with type checking. If the target\n * `input` value or its member variable contains a class instance having\n * methods, those methods would not be cloned.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns `null` value instead. Otherwise, there's no problem on the `input`\n * value, cloned data would be returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be cloned\n * @returns Cloned data when exact type, otherwise null\n */\nexport declare function isClone<T>(input: T): Resolved<T> | null;\n/**\n * Clone data with type checking.\n *\n * Clones an instance following type `T`, with type checking. If the target\n * `input` value or its member variable contains a class instance having\n * methods, those methods would not be cloned.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns `null` value instead. Otherwise, there's no problem on the `input`\n * value, cloned data would be returned.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be cloned\n * @returns Cloned data when exact type, otherwise null\n */\nexport declare function isClone<T>(input: unknown): Resolved<T> | null;\n/**\n * Clone data with detailed type validation.\n *\n * Clones an instance following type `T`, with detailed type validation. If the\n * target `input` value or its member variable contains a class instance having\n * methods, those methods would not be cloned.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns {@link IValidation.Failure} value. Otherwise, there's no problem on\n * the `input` value, cloned data would be stored in `data` property of the\n * output {@link IValidation.Success} instance.\n *\n * @template T Type of the input value\n * @param input A value to be cloned\n * @returns Validation result with cloned value\n */\nexport declare function validateClone<T>(input: T): IValidation<Resolved<T>>;\n/**\n * Clone data with detailed type validation.\n *\n * Clones an instance following type `T`, with detailed type validation. If the\n * target `input` value or its member variable contains a class instance having\n * methods, those methods would not be cloned.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns {@link IValidation.Failure} value. Otherwise, there's no problem on\n * the `input` value, cloned data would be stored in `data` property of the\n * output {@link IValidation.Success} instance.\n *\n * @template T Type of the input value\n * @param input A value to be cloned\n * @returns Validation result with cloned value\n */\nexport declare function validateClone<T>(input: unknown): IValidation<Resolved<T>>;\n/**\n * Prune, erase superfluous properties.\n *\n * Remove all superfluous properties from the `input` object, even including\n * nested objects. Note that, as all superfluous properties would be deleted,\n * you never can read those superfluous properties after calling this `prune()`\n * function.\n *\n * For reference, this `typia.misc.prune()` function does not validate the input\n * value type. It just believes that the input value is following the type `T`.\n * Therefore, if you can't ensure the input value type, it would better to call\n * one of below functions instead.\n *\n * - {@link assertPrune}\n * - {@link isPrune}\n * - {@link validatePrune}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target instance to prune\n */\nexport declare function prune<T extends object>(input: T): void;\n/**\n * Prune, erase superfluous properties, with type assertion.\n *\n * `typia.misc.assertPrune()` is a combination function of {@link assert} and\n * {@link prune}. Therefore, it removes all superfluous properties from the\n * `input` object including nested objects, with type assertion.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * throws an {@link TypeGuardError} or custom error generated by _errorFactory_.\n * Otherwise, there's no problem on the `input` value, its all superfluous\n * properties would be removed, including nested objects.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target instance to assert and prune\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n */\nexport declare function assertPrune<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;\n/**\n * Prune, erase superfluous properties, with type assertion.\n *\n * `typia.misc.assertPrune()` is a combination function of {@link assert} and\n * {@link prune}. Therefore, it removes all superfluous properties from the\n * `input` object including nested objects, with type assertion.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * throws an {@link TypeGuardError} or custom error generated by _errorFactory_.\n * Otherwise, there's no problem on the `input` value, its all superfluous\n * properties would be removed, including nested objects.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target instance to assert and prune\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n */\nexport declare function assertPrune<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;\n/**\n * Prune, erase superfluous properties, with type checking.\n *\n * `typia.misc.isPrune()` is a combination function of {@link is} and\n * {@link prune}. Therefore, it removes all superfluous properties from the\n * `input` object including nested objects, with type checking.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns `false` value. Otherwise, there's no problem on the `input` value, it\n * returns `true` after removing all superfluous properties, including nested\n * objects.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target instance to check and prune\n * @returns Whether the parametric value is following the type `T` or not\n */\nexport declare function isPrune<T>(input: T): input is T;\n/**\n * Prune, erase superfluous properties, with type checking.\n *\n * `typia.misc.isPrune()` is a combination function of {@link is} and\n * {@link prune}. Therefore, it removes all superfluous properties from the\n * `input` object including nested objects, with type checking.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns `false` value. Otherwise, there's no problem on the `input` value, it\n * returns `true` after removing all superfluous properties, including nested\n * objects.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target instance to check and prune\n * @returns Whether the parametric value is following the type `T` or not\n */\nexport declare function isPrune<T>(input: unknown): input is T;\n/**\n * Prune, erase superfluous properties, with type validation.\n *\n * `typia.misc.validatePrune()` is a combination function of {@link validate} and\n * {@link prune}. Therefore, it removes all superfluous properties from the\n * `input` object including nested objects, with type validation.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns {@link IValidation.IFailure} value with detailed error reasons.\n * Otherwise, there's no problem on the `input` value, it returns\n * {@link IValidation.ISuccess} value after removing all superfluous properties,\n * including nested objects.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target instance to validate and prune\n * @returns Validation result\n */\nexport declare function validatePrune<T>(input: T): IValidation<T>;\n/**\n * Prune, erase superfluous properties, with type validation.\n *\n * `typia.misc.validatePrune()` is a combination function of {@link validate} and\n * {@link prune}. Therefore, it removes all superfluous properties from the\n * `input` object including nested objects, with type validation.\n *\n * In such reason, when `input` value is not matched with the type `T`, it\n * returns {@link IValidation.IFailure} value with detailed error reasons.\n * Otherwise, there's no problem on the `input` value, it returns\n * {@link IValidation.ISuccess} value after removing all superfluous properties,\n * including nested objects.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target instance to validate and prune\n * @returns Validation result\n */\nexport declare function validatePrune<T>(input: unknown): IValidation<T>;\n/**\n * Creates a reusable {@link clone} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createClone(): never;\n/**\n * Creates a reusable {@link clone} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `clone` function\n */\nexport declare function createClone<T>(): (input: T) => Resolved<T>;\n/**\n * Creates a reusable {@link assertClone} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertClone(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertClone} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `clone` function\n */\nexport declare function createAssertClone<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => Resolved<T>;\n/**\n * Creates a reusable {@link isClone} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIsClone(): never;\n/**\n * Creates a reusable {@link isClone} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `clone` function\n */\nexport declare function createIsClone<T>(): (input: unknown) => Resolved<T> | null;\n/**\n * Creates a reusable {@link validateClone} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidateClone(): never;\n/**\n * Creates a reusable {@link validateClone} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `clone` function\n */\nexport declare function createValidateClone<T>(): (input: unknown) => IValidation<Resolved<T>>;\n/**\n * Creates a reusable {@link prune} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createPrune(): never;\n/**\n * Creates a reusable {@link prune} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `prune` function\n */\nexport declare function createPrune<T extends object>(): (input: T) => void;\n/**\n * Creates a reusable {@link assertPrune} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertPrune(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertPrune} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `isPrune` function\n */\nexport declare function createAssertPrune<T extends object>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: T) => T;\n/**\n * Creates a reusable {@link isPrune} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIsPrune(): never;\n/**\n * Creates a reusable {@link isPrune} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `isPrune` function\n */\nexport declare function createIsPrune<T extends object>(): (input: T) => input is T;\n/**\n * Creates a reusable {@link validatePrune} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidatePrune(): never;\n/**\n * Creates a reusable {@link validatePrune} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `validatePrune` function\n */\nexport declare function createValidatePrune<T extends object>(): (input: T) => IValidation<T>;\n",
|
|
877
|
-
"node_modules/typia/lib/module.d.ts": "import { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport { AssertionGuard } from \"./AssertionGuard\";\nimport { IRandomGenerator } from \"./IRandomGenerator\";\nimport { IValidation } from \"./IValidation\";\nimport { Resolved } from \"./Resolved\";\nimport { TypeGuardError } from \"./TypeGuardError\";\nexport * as functional from \"./functional\";\nexport * as http from \"./http\";\nexport * as llm from \"./llm\";\nexport * as json from \"./json\";\nexport * as misc from \"./misc\";\nexport * as notations from \"./notations\";\nexport * as protobuf from \"./protobuf\";\nexport * as reflect from \"./reflect\";\nexport * as tags from \"./tags\";\nexport * from \"./schemas/metadata/IJsDocTagInfo\";\nexport * from \"./schemas/json/IJsonApplication\";\nexport * from \"./schemas/json/IJsonSchemaCollection\";\nexport * from \"./schemas/json/IJsonSchemaUnit\";\nexport * from \"./AssertionGuard\";\nexport * from \"./IRandomGenerator\";\nexport * from \"./IValidation\";\nexport * from \"./TypeGuardError\";\nexport * from \"./Primitive\";\nexport * from \"./Resolved\";\nexport * from \"./CamelCase\";\nexport * from \"./PascalCase\";\nexport * from \"./SnakeCase\";\nexport * from \"./IReadableURLSearchParams\";\n/**\n * Asserts a value type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with a\n * detailed reason, if the parametric value is not following the type `T`.\n * Otherwise, if the value is following the type `T`, the input parameter will\n * be returned.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link is} function\n * instead. Otherwise, if you want to know all the errors, {@link validate} is\n * the way to go. Also, if you want to automatically cast the parametric value\n * to the type `T` when there is no problem (perform the assertion guard of\n * type).\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link assertEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assert<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;\n/**\n * Asserts a value type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with a\n * detailed reason, if the parametric value is not following the type `T`.\n * Otherwise, if the value is following the type `T`, the input parameter will\n * be returned.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link is} function\n * instead. Otherwise, if you want to know all the errors, {@link validate} is\n * the way to go.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link assertEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value casted as `T`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assert<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;\n/**\n * Assertion guard of a value type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with a\n * detailed reason, if the parametric value is not following the type `T`.\n * Otherwise, if the value is following the type `T`, nothing will be returned,\n * but the input value will be automatically casted to the type `T`. This is the\n * concept of \"Assertion Guard\" of a value type.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link is} function\n * instead. Otherwise, if you want to know all the errors, {@link validate} is\n * the way to go. Also, if you want to return the parametric value when there is\n * no problem, you can use {@link assert} function instead.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link assertGuardEquals}\n * function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertGuard<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): asserts input is T;\n/**\n * Assertion guard of a value type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with a\n * detailed reason, if the parametric value is not following the type `T`.\n * Otherwise, if the value is following the type `T`, nothing will be returned,\n * but the input value will be automatically casted to the type `T`. This is the\n * concept of \"Assertion Guard\" of a value type.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link is} function\n * instead. Otherwise, if you want to know all the errors, {@link validate} is\n * the way to go. Also, if you want to return the parametric value when there is\n * no problem, you can use {@link assert} function instead.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link assertGuardEquals}\n * function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertGuard<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): asserts input is T;\n/**\n * Tests a value type.\n *\n * Tests a parametric value type and returns whether it's following the type `T`\n * or not. If the parametric value is matched with the type `T`, `true` value\n * will be returned. Otherwise, if the parametric value is not following the\n * type `T`, `false` value will be returned.\n *\n * If what you want is not just knowing whether the parametric value is\n * following the type `T` or not, but throwing an exception with a detailed\n * reason, you can choose {@link assert} function instead. Also, if you want to\n * know all the errors with detailed reasons, {@link validate} function will be\n * useful.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link equals} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be tested\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Whether the parametric value is following the type `T` or not\n */\nexport declare function is<T>(input: T): input is T;\n/**\n * Tests a value type.\n *\n * Tests a parametric value type and returns whether it's following the type `T`\n * or not. If the parametric value is matched with the type `T`, `true` value\n * will be returned. Otherwise, if the parametric value is not following the\n * type `T`, `false` value will be returned.\n *\n * If what you want is not just knowing whether the parametric value is\n * following the type `T` or not, but throwing an exception with a detailed\n * reason, you can choose {@link assert} function instead. Also, if you want to\n * know all the errors with detailed reasons, {@link validate} function will be\n * useful.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link equals} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be tested\n * @returns Whether the parametric value is following the type `T` or not\n */\nexport declare function is<T>(input: unknown): input is T;\n/**\n * Validates a value type.\n *\n * Validates a parametric value type and archives all the type errors into an\n * {@link IValidation.errors} array, if the parametric value is not following the\n * type `T`. Of course, if the parametric value is following the type `T`, the\n * {@link IValidation.errors} array will be empty and {@link IValidation.success}\n * will have the `true` value.\n *\n * If what you want is not finding all the errors, but asserting the parametric\n * value type with exception throwing, you can choose {@link assert} function\n * instead. Otherwise, if you just want to know whether the parametric value is\n * matched with the type `T`, {@link is} function is the way to go.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link validateEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be validated\n * @returns Validation result\n */\nexport declare function validate<T>(input: T): IValidation<T>;\n/**\n * Validates a value type.\n *\n * Validates a parametric value type and archives all the type errors into an\n * {@link IValidation.errors} array, if the parametric value is not following the\n * type `T`. Of course, if the parametric value is following the type `T`, the\n * {@link IValidation.errors} array will be empty and {@link IValidation.success}\n * will have the `true` value.\n *\n * If what you want is not finding all the errors, but asserting the parametric\n * value type with exception throwing, you can choose {@link assert} function\n * instead. Otherwise, if you just want to know whether the parametric value is\n * matched with the type `T`, {@link is} function is the way to go.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link validateEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be validated\n * @returns Validation result\n */\nexport declare function validate<T>(input: unknown): IValidation<T>;\n/**\n * Asserts equality between a value and its type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with\n * detailed reason, if the parametric value is not following the type `T` or\n * some superfluous property that is not listed on the type `T` has been found.\n * Otherwise, the value is following the type `T` without any superfluous\n * property, just input parameter would be returned.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link equals}\n * function instead. Otherwise, if you want to know all the errors,\n * {@link validateEquals} is the way to go.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link assert} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertEquals<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;\n/**\n * Asserts equality between a value and its type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with\n * detailed reason, if the parametric value is not following the type `T` or\n * some superfluous property that is not listed on the type `T` has been found.\n * Otherwise, the value is following the type `T` without any superfluous\n * property, just input parameter would be returned.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link equals}\n * function instead. Otherwise, if you want to know all the errors,\n * {@link validateEquals} is the way to go.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link assert} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value casted as `T`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertEquals<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;\n/**\n * Assertion guard of a type with equality.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with\n * detailed reason, if the parametric value is not following the type `T` or\n * some superfluous property that is not listed on the type `T` has been found.\n *\n * Otherwise, the value is following the type `T` without any superfluous\n * property, nothing will be returned, but the input value would be\n * automatically casted to the type `T`. This is the concept of \"Assertion\n * Guard\" of a value type.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link equals}\n * function instead. Otherwise, if you want to know all the errors,\n * {@link validateEquals} is the way to go. Also, if you want to returns the\n * parametric value when no problem, you can use {@link assert} function\n * instead.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link assertEquals} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value casted as `T`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertGuardEquals<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): asserts input is T;\n/**\n * Assertion guard of a type with equality.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with\n * detailed reason, if the parametric value is not following the type `T` or\n * some superfluous property that is not listed on the type `T` has been found.\n *\n * Otherwise, the value is following the type `T` without any superfluous\n * property, nothing will be returned, but the input value would be\n * automatically casted to the type `T`. This is the concept of \"Assertion\n * Guard\" of a value type.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link equals}\n * function instead. Otherwise, if you want to know all the errors,\n * {@link validateEquals} is the way to go. Also, if you want to returns the\n * parametric value when no problem, you can use {@link assertEquals} function\n * instead.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link assertGuard} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value casted as `T`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertGuardEquals<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): asserts input is T;\n/**\n * Tests equality between a value and its type.\n *\n * Tests a parametric value type and returns whether it's equivalent to the type\n * `T` or not. If the parametric value is matched with the type `T` and there's\n * not any superfluous property that is not listed on the type `T`, `true` value\n * will be returned. Otherwise, if the parametric value is not following the\n * type `T` or some superfluous property exists, `false` value will be\n * returned.\n *\n * If what you want is not just knowing whether the parametric value is\n * following the type `T` or not, but throwing an exception with a detailed\n * reason, you can choose {@link assertEquals} function instead. Also, if you\n * want to know all the errors with detailed reasons, {@link validateEquals}\n * function will be useful.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link is} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be tested\n * @returns Whether the parametric value is equivalent to the type `T` or not\n */\nexport declare function equals<T>(input: T): input is T;\n/**\n * Tests equality between a value and its type.\n *\n * Tests a parametric value type and returns whether it's equivalent to the type\n * `T` or not. If the parametric value is matched with the type `T` and there's\n * not any superfluous property that is not listed on the type `T`, `true` value\n * will be returned. Otherwise, if the parametric value is not following the\n * type `T` or some superfluous property exists, `false` value will be\n * returned.\n *\n * If what you want is not just knowing whether the parametric value is\n * following the type `T` or not, but throwing an exception with a detailed\n * reason, you can choose {@link assertEquals} function instead. Also, if you\n * want to know all the errors with detailed reasons, {@link validateEquals}\n * function will be useful.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link is} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be tested\n * @returns Whether the parametric value is equivalent to the type `T` or not\n */\nexport declare function equals<T>(input: unknown): input is T;\n/**\n * Validates equality between a value and its type.\n *\n * Validates a parametric value type and archives all the type errors into an\n * {@link IValidation.errors} array, if the parametric value is not following the\n * type `T` or some superfluous property that is not listed on the type `T` has\n * been found. Of course, if the parametric value is following the type `T` and\n * no superfluous property exists, the {@link IValidation.errors} array would be\n * empty and {@link IValidation.success} would have the `true` value.\n *\n * If what you want is not finding all the error, but asserting the parametric\n * value type with exception throwing, you can choose {@link assert} function\n * instead. Otherwise, you just want to know whether the parametric value is\n * matched with the type `T`, {@link is} function is the way to go.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link validateEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Type Of the input value\n * @param input A value to be validated\n * @returns Validation result\n */\nexport declare function validateEquals<T>(input: T): IValidation<T>;\n/**\n * Validates equality between a value and its type.\n *\n * Validates a parametric value type and archives all the type errors into an\n * {@link IValidation.errors} array, if the parametric value is not following the\n * type `T` or some superfluous property that is not listed on the type `T` has\n * been found. Of course, if the parametric value is following the type `T` and\n * no superfluous property exists, the {@link IValidation.errors} array would be\n * empty and {@link IValidation.success} would have the `true` value.\n *\n * If what you want is not finding all the error, but asserting the parametric\n * value type with exception throwing, you can choose {@link assert} function\n * instead. Otherwise, you just want to know whether the parametric value is\n * matched with the type `T`, {@link is} function is the way to go.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link validateEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Type Of the input value\n * @param input A value to be validated\n * @returns Validation result\n */\nexport declare function validateEquals<T>(input: unknown): IValidation<T>;\n/**\n * > You must configure the generic argument `T`.\n *\n * Generate random data.\n *\n * Generates a random data following type the `T`.\n *\n * For reference, this `typia.random()` function generates only primitive type.\n * If there're some methods in the type `T` or its nested instances, those would\n * be ignored. Also, when the type `T` has a `toJSON()` method, its return type\n * will be generated instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of data to generate\n * @param generator Random data generator\n * @returns Randomly generated data\n */\nexport declare function random(generator?: Partial<IRandomGenerator>): never;\n/**\n * Generate random data.\n *\n * Generates a random data following type the `T`.\n *\n * For reference, this `typia.random()` function generates only primitive type.\n * If there're some methods in the type `T` or its nested instances, those would\n * be ignored. Also, when the type `T` has a `toJSON()` method, its return type\n * will be generated instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of data to generate\n * @param generator Random data generator\n * @returns Randomly generated data\n */\nexport declare function random<T>(generator?: Partial<IRandomGenerator>): Resolved<T>;\n/**\n * Creates a reusable {@link assert} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssert(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assert} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assert` function\n */\nexport declare function createAssert<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => T;\n/**\n * Creates a reusable {@link assertGuard} function.\n *\n * Note that, you've to declare the variable type of the factory function caller\n * like below. If you don't declare the variable type, compilation error be\n * thrown. This is the special rule of the TypeScript compiler.\n *\n * ```typescript\n * // MUST DECLARE THE VARIABLE TYPE\n * const func: typia.AssertionGuard<number> = typia.createAssertGuard<number>();\n *\n * // IF NOT, COMPILATION ERROR BE OCCURRED\n * const func = typia.createAssertGuard<number>();\n * ```\n *\n * > _Assertions require every name in the call target to be declared with an_\n * > _explicit type annotation._\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertGuard(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertGuard} function.\n *\n * Note that, you've to declare the variable type of the factory function caller\n * like below. If you don't declare the variable type, compilation error be\n * thrown. This is the special rule of the TypeScript compiler.\n *\n * ```typescript\n * // MUST DECLARE THE VARIABLE TYPE\n * const func: typia.AssertionGuard<number> = typia.createAssertGuard<number>();\n *\n * // IF NOT, COMPILATION ERROR BE OCCURRED\n * const func = typia.createAssertGuard<number>();\n * ```\n *\n * > _Assertions require every name in the call target to be declared with an_\n * > _explicit type annotation._\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n */\nexport declare function createAssertGuard<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => AssertionGuard<T>;\n/**\n * Creates a reusable {@link is} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIs(): never;\n/**\n * Creates a reusable {@link is} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `is` function\n */\nexport declare function createIs<T>(): (input: unknown) => input is T;\n/**\n * Creates a reusable {@link validate} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidate(): never;\n/**\n * Creates a reusable {@link validate} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `validate` function\n */\nexport declare function createValidate<T>(): ((input: unknown) => IValidation<T>) & StandardSchemaV1<unknown, T>;\n/**\n * Creates a reusable {@link assertEquals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertEquals(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertEquals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertEquals` function\n */\nexport declare function createAssertEquals<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => T;\n/**\n * Creates a reusable {@link assertGuardEquals} function.\n *\n * Note that, you've to declare the variable type of the factory function caller\n * like below. If you don't declare the variable type, compilation error be\n * thrown. This is the special rule of the TypeScript compiler.\n *\n * ```typescript\n * // MUST DECLARE THE VARIABLE TYPE\n * const func: typia.AssertionGuard<number> = typia.createAssertGuardEquals<number>();\n *\n * // IF NOT, COMPILATION ERROR BE OCCURRED\n * const func = typia.createAssertGuardEquals<number>();\n * ```\n *\n * > _Assertions require every name in the call target to be declared with an_\n * > _explicit type annotation._\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertGuardEquals(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertGuardEquals} function.\n *\n * Note that, you've to declare the variable type of the factory function caller\n * like below. If you don't declare the variable type, compilation error be\n * thrown. This is the special rule of the TypeScript compiler.\n *\n * ```typescript\n * // MUST DECLARE THE VARIABLE TYPE\n * const func: typia.AssertionGuard<number> = typia.createAssertGuardEquals<number>();\n *\n * // IF NOT, COMPILATION ERROR BE OCCURRED\n * const func = typia.createAssertGuardEquals<number>();\n * ```\n *\n * > _Assertions require every name in the call target to be declared with an_\n * > _explicit type annotation._\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n */\nexport declare function createAssertGuardEquals<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => AssertionGuard<T>;\n/**\n * Creates a reusable {@link equals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createEquals(): never;\n/**\n * Creates a reusable {@link equals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `equals` function\n */\nexport declare function createEquals<T>(): (input: unknown) => input is T;\n/**\n * Creates a reusable {@link validateEquals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidateEquals(): never;\n/**\n * Creates a reusable {@link validateEquals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `validateEquals` function\n */\nexport declare function createValidateEquals<T>(): ((input: unknown) => IValidation<T>) & StandardSchemaV1<unknown, T>;\n/**\n * Creates a reusable {@link random} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param generator Random data generator\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createRandom(generator?: Partial<IRandomGenerator>): never;\n/**\n * Creates a reusable {@link random} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param generator Random data generator\n * @returns A reusable `random` function\n */\nexport declare function createRandom<T>(generator?: Partial<IRandomGenerator>): () => Resolved<T>;\n",
|
|
873
|
+
"node_modules/typia/lib/module.d.ts": "import { StandardSchemaV1 } from \"@standard-schema/spec\";\nimport { AssertionGuard } from \"./AssertionGuard\";\nimport { IRandomGenerator } from \"./IRandomGenerator\";\nimport { IValidation } from \"./IValidation\";\nimport { Resolved } from \"./Resolved\";\nimport { TypeGuardError } from \"./TypeGuardError\";\nexport * as functional from \"./functional\";\nexport * as http from \"./http\";\nexport * as llm from \"./llm\";\nexport * as json from \"./json\";\nexport * as misc from \"./misc\";\nexport * as notations from \"./notations\";\nexport * as protobuf from \"./protobuf\";\nexport * as reflect from \"./reflect\";\nexport * as tags from \"./tags\";\nexport * from \"./schemas/metadata/IJsDocTagInfo\";\nexport * from \"./schemas/json/IJsonSchemaApplication\";\nexport * from \"./schemas/json/IJsonSchemaCollection\";\nexport * from \"./schemas/json/IJsonSchemaUnit\";\nexport * from \"./AssertionGuard\";\nexport * from \"./IRandomGenerator\";\nexport * from \"./IValidation\";\nexport * from \"./TypeGuardError\";\nexport * from \"./Primitive\";\nexport * from \"./Resolved\";\nexport * from \"./CamelCase\";\nexport * from \"./PascalCase\";\nexport * from \"./SnakeCase\";\nexport * from \"./IReadableURLSearchParams\";\n/**\n * Asserts a value type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with a\n * detailed reason, if the parametric value is not following the type `T`.\n * Otherwise, if the value is following the type `T`, the input parameter will\n * be returned.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link is} function\n * instead. Otherwise, if you want to know all the errors, {@link validate} is\n * the way to go. Also, if you want to automatically cast the parametric value\n * to the type `T` when there is no problem (perform the assertion guard of\n * type).\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link assertEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assert<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;\n/**\n * Asserts a value type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with a\n * detailed reason, if the parametric value is not following the type `T`.\n * Otherwise, if the value is following the type `T`, the input parameter will\n * be returned.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link is} function\n * instead. Otherwise, if you want to know all the errors, {@link validate} is\n * the way to go.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link assertEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value casted as `T`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assert<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;\n/**\n * Assertion guard of a value type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with a\n * detailed reason, if the parametric value is not following the type `T`.\n * Otherwise, if the value is following the type `T`, nothing will be returned,\n * but the input value will be automatically casted to the type `T`. This is the\n * concept of \"Assertion Guard\" of a value type.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link is} function\n * instead. Otherwise, if you want to know all the errors, {@link validate} is\n * the way to go. Also, if you want to return the parametric value when there is\n * no problem, you can use {@link assert} function instead.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link assertGuardEquals}\n * function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertGuard<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): asserts input is T;\n/**\n * Assertion guard of a value type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with a\n * detailed reason, if the parametric value is not following the type `T`.\n * Otherwise, if the value is following the type `T`, nothing will be returned,\n * but the input value will be automatically casted to the type `T`. This is the\n * concept of \"Assertion Guard\" of a value type.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link is} function\n * instead. Otherwise, if you want to know all the errors, {@link validate} is\n * the way to go. Also, if you want to return the parametric value when there is\n * no problem, you can use {@link assert} function instead.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link assertGuardEquals}\n * function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertGuard<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): asserts input is T;\n/**\n * Tests a value type.\n *\n * Tests a parametric value type and returns whether it's following the type `T`\n * or not. If the parametric value is matched with the type `T`, `true` value\n * will be returned. Otherwise, if the parametric value is not following the\n * type `T`, `false` value will be returned.\n *\n * If what you want is not just knowing whether the parametric value is\n * following the type `T` or not, but throwing an exception with a detailed\n * reason, you can choose {@link assert} function instead. Also, if you want to\n * know all the errors with detailed reasons, {@link validate} function will be\n * useful.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link equals} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be tested\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Whether the parametric value is following the type `T` or not\n */\nexport declare function is<T>(input: T): input is T;\n/**\n * Tests a value type.\n *\n * Tests a parametric value type and returns whether it's following the type `T`\n * or not. If the parametric value is matched with the type `T`, `true` value\n * will be returned. Otherwise, if the parametric value is not following the\n * type `T`, `false` value will be returned.\n *\n * If what you want is not just knowing whether the parametric value is\n * following the type `T` or not, but throwing an exception with a detailed\n * reason, you can choose {@link assert} function instead. Also, if you want to\n * know all the errors with detailed reasons, {@link validate} function will be\n * useful.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link equals} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be tested\n * @returns Whether the parametric value is following the type `T` or not\n */\nexport declare function is<T>(input: unknown): input is T;\n/**\n * Validates a value type.\n *\n * Validates a parametric value type and archives all the type errors into an\n * {@link IValidation.errors} array, if the parametric value is not following the\n * type `T`. Of course, if the parametric value is following the type `T`, the\n * {@link IValidation.errors} array will be empty and {@link IValidation.success}\n * will have the `true` value.\n *\n * If what you want is not finding all the errors, but asserting the parametric\n * value type with exception throwing, you can choose {@link assert} function\n * instead. Otherwise, if you just want to know whether the parametric value is\n * matched with the type `T`, {@link is} function is the way to go.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link validateEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be validated\n * @returns Validation result\n */\nexport declare function validate<T>(input: T): IValidation<T>;\n/**\n * Validates a value type.\n *\n * Validates a parametric value type and archives all the type errors into an\n * {@link IValidation.errors} array, if the parametric value is not following the\n * type `T`. Of course, if the parametric value is following the type `T`, the\n * {@link IValidation.errors} array will be empty and {@link IValidation.success}\n * will have the `true` value.\n *\n * If what you want is not finding all the errors, but asserting the parametric\n * value type with exception throwing, you can choose {@link assert} function\n * instead. Otherwise, if you just want to know whether the parametric value is\n * matched with the type `T`, {@link is} function is the way to go.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link validateEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be validated\n * @returns Validation result\n */\nexport declare function validate<T>(input: unknown): IValidation<T>;\n/**\n * Asserts equality between a value and its type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with\n * detailed reason, if the parametric value is not following the type `T` or\n * some superfluous property that is not listed on the type `T` has been found.\n * Otherwise, the value is following the type `T` without any superfluous\n * property, just input parameter would be returned.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link equals}\n * function instead. Otherwise, if you want to know all the errors,\n * {@link validateEquals} is the way to go.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link assert} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertEquals<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;\n/**\n * Asserts equality between a value and its type.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with\n * detailed reason, if the parametric value is not following the type `T` or\n * some superfluous property that is not listed on the type `T` has been found.\n * Otherwise, the value is following the type `T` without any superfluous\n * property, just input parameter would be returned.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link equals}\n * function instead. Otherwise, if you want to know all the errors,\n * {@link validateEquals} is the way to go.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link assert} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value casted as `T`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertEquals<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): T;\n/**\n * Assertion guard of a type with equality.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with\n * detailed reason, if the parametric value is not following the type `T` or\n * some superfluous property that is not listed on the type `T` has been found.\n *\n * Otherwise, the value is following the type `T` without any superfluous\n * property, nothing will be returned, but the input value would be\n * automatically casted to the type `T`. This is the concept of \"Assertion\n * Guard\" of a value type.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link equals}\n * function instead. Otherwise, if you want to know all the errors,\n * {@link validateEquals} is the way to go. Also, if you want to returns the\n * parametric value when no problem, you can use {@link assert} function\n * instead.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link assertEquals} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value casted as `T`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertGuardEquals<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): asserts input is T;\n/**\n * Assertion guard of a type with equality.\n *\n * Asserts a parametric value type and throws a {@link TypeGuardError} with\n * detailed reason, if the parametric value is not following the type `T` or\n * some superfluous property that is not listed on the type `T` has been found.\n *\n * Otherwise, the value is following the type `T` without any superfluous\n * property, nothing will be returned, but the input value would be\n * automatically casted to the type `T`. This is the concept of \"Assertion\n * Guard\" of a value type.\n *\n * If what you want is not asserting but just knowing whether the parametric\n * value is following the type `T` or not, you can choose the {@link equals}\n * function instead. Otherwise, if you want to know all the errors,\n * {@link validateEquals} is the way to go. Also, if you want to returns the\n * parametric value when no problem, you can use {@link assertEquals} function\n * instead.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link assertGuard} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be asserted\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Parametric input value casted as `T`\n * @throws A {@link TypeGuardError} instance with a detailed reason\n */\nexport declare function assertGuardEquals<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): asserts input is T;\n/**\n * Tests equality between a value and its type.\n *\n * Tests a parametric value type and returns whether it's equivalent to the type\n * `T` or not. If the parametric value is matched with the type `T` and there's\n * not any superfluous property that is not listed on the type `T`, `true` value\n * will be returned. Otherwise, if the parametric value is not following the\n * type `T` or some superfluous property exists, `false` value will be\n * returned.\n *\n * If what you want is not just knowing whether the parametric value is\n * following the type `T` or not, but throwing an exception with a detailed\n * reason, you can choose {@link assertEquals} function instead. Also, if you\n * want to know all the errors with detailed reasons, {@link validateEquals}\n * function will be useful.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link is} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be tested\n * @returns Whether the parametric value is equivalent to the type `T` or not\n */\nexport declare function equals<T>(input: T): input is T;\n/**\n * Tests equality between a value and its type.\n *\n * Tests a parametric value type and returns whether it's equivalent to the type\n * `T` or not. If the parametric value is matched with the type `T` and there's\n * not any superfluous property that is not listed on the type `T`, `true` value\n * will be returned. Otherwise, if the parametric value is not following the\n * type `T` or some superfluous property exists, `false` value will be\n * returned.\n *\n * If what you want is not just knowing whether the parametric value is\n * following the type `T` or not, but throwing an exception with a detailed\n * reason, you can choose {@link assertEquals} function instead. Also, if you\n * want to know all the errors with detailed reasons, {@link validateEquals}\n * function will be useful.\n *\n * On the other hand, if you want to allow superfluous property that is not\n * enrolled to the type `T`, you can use {@link is} function instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input A value to be tested\n * @returns Whether the parametric value is equivalent to the type `T` or not\n */\nexport declare function equals<T>(input: unknown): input is T;\n/**\n * Validates equality between a value and its type.\n *\n * Validates a parametric value type and archives all the type errors into an\n * {@link IValidation.errors} array, if the parametric value is not following the\n * type `T` or some superfluous property that is not listed on the type `T` has\n * been found. Of course, if the parametric value is following the type `T` and\n * no superfluous property exists, the {@link IValidation.errors} array would be\n * empty and {@link IValidation.success} would have the `true` value.\n *\n * If what you want is not finding all the error, but asserting the parametric\n * value type with exception throwing, you can choose {@link assert} function\n * instead. Otherwise, you just want to know whether the parametric value is\n * matched with the type `T`, {@link is} function is the way to go.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link validateEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Type Of the input value\n * @param input A value to be validated\n * @returns Validation result\n */\nexport declare function validateEquals<T>(input: T): IValidation<T>;\n/**\n * Validates equality between a value and its type.\n *\n * Validates a parametric value type and archives all the type errors into an\n * {@link IValidation.errors} array, if the parametric value is not following the\n * type `T` or some superfluous property that is not listed on the type `T` has\n * been found. Of course, if the parametric value is following the type `T` and\n * no superfluous property exists, the {@link IValidation.errors} array would be\n * empty and {@link IValidation.success} would have the `true` value.\n *\n * If what you want is not finding all the error, but asserting the parametric\n * value type with exception throwing, you can choose {@link assert} function\n * instead. Otherwise, you just want to know whether the parametric value is\n * matched with the type `T`, {@link is} function is the way to go.\n *\n * On the other hand, if you don't want to allow any superfluous property that\n * is not enrolled to the type `T`, you can use {@link validateEquals} function\n * instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Type Of the input value\n * @param input A value to be validated\n * @returns Validation result\n */\nexport declare function validateEquals<T>(input: unknown): IValidation<T>;\n/**\n * > You must configure the generic argument `T`.\n *\n * Generate random data.\n *\n * Generates a random data following type the `T`.\n *\n * For reference, this `typia.random()` function generates only primitive type.\n * If there're some methods in the type `T` or its nested instances, those would\n * be ignored. Also, when the type `T` has a `toJSON()` method, its return type\n * will be generated instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of data to generate\n * @param generator Random data generator\n * @returns Randomly generated data\n */\nexport declare function random(generator?: Partial<IRandomGenerator>): never;\n/**\n * Generate random data.\n *\n * Generates a random data following type the `T`.\n *\n * For reference, this `typia.random()` function generates only primitive type.\n * If there're some methods in the type `T` or its nested instances, those would\n * be ignored. Also, when the type `T` has a `toJSON()` method, its return type\n * will be generated instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of data to generate\n * @param generator Random data generator\n * @returns Randomly generated data\n */\nexport declare function random<T>(generator?: Partial<IRandomGenerator>): Resolved<T>;\n/**\n * Creates a reusable {@link assert} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssert(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assert} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assert` function\n */\nexport declare function createAssert<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => T;\n/**\n * Creates a reusable {@link assertGuard} function.\n *\n * Note that, you've to declare the variable type of the factory function caller\n * like below. If you don't declare the variable type, compilation error be\n * thrown. This is the special rule of the TypeScript compiler.\n *\n * ```typescript\n * // MUST DECLARE THE VARIABLE TYPE\n * const func: typia.AssertionGuard<number> = typia.createAssertGuard<number>();\n *\n * // IF NOT, COMPILATION ERROR BE OCCURRED\n * const func = typia.createAssertGuard<number>();\n * ```\n *\n * > _Assertions require every name in the call target to be declared with an_\n * > _explicit type annotation._\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertGuard(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertGuard} function.\n *\n * Note that, you've to declare the variable type of the factory function caller\n * like below. If you don't declare the variable type, compilation error be\n * thrown. This is the special rule of the TypeScript compiler.\n *\n * ```typescript\n * // MUST DECLARE THE VARIABLE TYPE\n * const func: typia.AssertionGuard<number> = typia.createAssertGuard<number>();\n *\n * // IF NOT, COMPILATION ERROR BE OCCURRED\n * const func = typia.createAssertGuard<number>();\n * ```\n *\n * > _Assertions require every name in the call target to be declared with an_\n * > _explicit type annotation._\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n */\nexport declare function createAssertGuard<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => AssertionGuard<T>;\n/**\n * Creates a reusable {@link is} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIs(): never;\n/**\n * Creates a reusable {@link is} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `is` function\n */\nexport declare function createIs<T>(): (input: unknown) => input is T;\n/**\n * Creates a reusable {@link validate} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidate(): never;\n/**\n * Creates a reusable {@link validate} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `validate` function\n */\nexport declare function createValidate<T>(): ((input: unknown) => IValidation<T>) & StandardSchemaV1<unknown, T>;\n/**\n * Creates a reusable {@link assertEquals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertEquals(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertEquals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertEquals` function\n */\nexport declare function createAssertEquals<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => T;\n/**\n * Creates a reusable {@link assertGuardEquals} function.\n *\n * Note that, you've to declare the variable type of the factory function caller\n * like below. If you don't declare the variable type, compilation error be\n * thrown. This is the special rule of the TypeScript compiler.\n *\n * ```typescript\n * // MUST DECLARE THE VARIABLE TYPE\n * const func: typia.AssertionGuard<number> = typia.createAssertGuardEquals<number>();\n *\n * // IF NOT, COMPILATION ERROR BE OCCURRED\n * const func = typia.createAssertGuardEquals<number>();\n * ```\n *\n * > _Assertions require every name in the call target to be declared with an_\n * > _explicit type annotation._\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertGuardEquals(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertGuardEquals} function.\n *\n * Note that, you've to declare the variable type of the factory function caller\n * like below. If you don't declare the variable type, compilation error be\n * thrown. This is the special rule of the TypeScript compiler.\n *\n * ```typescript\n * // MUST DECLARE THE VARIABLE TYPE\n * const func: typia.AssertionGuard<number> = typia.createAssertGuardEquals<number>();\n *\n * // IF NOT, COMPILATION ERROR BE OCCURRED\n * const func = typia.createAssertGuardEquals<number>();\n * ```\n *\n * > _Assertions require every name in the call target to be declared with an_\n * > _explicit type annotation._\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n */\nexport declare function createAssertGuardEquals<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: unknown) => AssertionGuard<T>;\n/**\n * Creates a reusable {@link equals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createEquals(): never;\n/**\n * Creates a reusable {@link equals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `equals` function\n */\nexport declare function createEquals<T>(): (input: unknown) => input is T;\n/**\n * Creates a reusable {@link validateEquals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidateEquals(): never;\n/**\n * Creates a reusable {@link validateEquals} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `validateEquals` function\n */\nexport declare function createValidateEquals<T>(): ((input: unknown) => IValidation<T>) & StandardSchemaV1<unknown, T>;\n/**\n * Creates a reusable {@link random} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param generator Random data generator\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createRandom(generator?: Partial<IRandomGenerator>): never;\n/**\n * Creates a reusable {@link random} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param generator Random data generator\n * @returns A reusable `random` function\n */\nexport declare function createRandom<T>(generator?: Partial<IRandomGenerator>): () => Resolved<T>;\n",
|
|
878
874
|
"node_modules/typia/lib/notations.d.ts": "import { CamelCase } from \"./CamelCase\";\nimport { IValidation } from \"./IValidation\";\nimport { PascalCase } from \"./PascalCase\";\nimport { SnakeCase } from \"./SnakeCase\";\nimport { TypeGuardError } from \"./TypeGuardError\";\n/**\n * Convert to camel case.\n *\n * Convert every property names of nested objects to follow the camel case\n * convention.\n *\n * For reference, this `typia.notations.camel()` function does not validate the\n * input value type. It just believes that the input value is following the type\n * `T`. Therefore, if you can't ensure the input value type, it would be better\n * to call one of them below:\n *\n * - {@link assertCamel}\n * - {@link isCamel}\n * - {@link validateCamel}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Camel case object\n */\nexport declare function camel<T>(input: T): CamelCase<T>;\n/**\n * Converts to camel case with type assertion.\n *\n * Convert every property names of nested objects to follow the camel case\n * convention. If the input value does not follow the type `T`, it throws\n * {@link TypeGuardError}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Camel case object\n */\nexport declare function assertCamel<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): CamelCase<T>;\n/**\n * Converts to camel case with type assertion.\n *\n * Convert every property names of nested objects to follow the camel case\n * convention. If the input value does not follow the type `T`, it throws\n * {@link TypeGuardError}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Camel case object\n */\nexport declare function assertCamel<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): CamelCase<T>;\n/**\n * Converts to camel case with type checking.\n *\n * Convert every property names of nested objects to follow the camel case\n * convention. If the input value does not follow the type `T`, it returns\n * `null` value instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Camel case object when exact type, otherwise null\n */\nexport declare function isCamel<T>(input: T): CamelCase<T> | null;\n/**\n * Converts to camel case with type checking.\n *\n * Convert every property names of nested objects to follow the camel case\n * convention. If the input value does not follow the type `T`, it returns\n * `null` value instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Camel case object when exact type, otherwise null\n */\nexport declare function isCamel<T>(input: unknown): CamelCase<T> | null;\n/**\n * Converts to camel case with type validation.\n *\n * Convert every property names of nested objects to follow the camel case\n * convention. If the input value does not follow the type `T`, it returns\n * {@link IValidation.Failure} object. Otherwise, there's no problem on the input\n * value, camel cased converted data would be stored in the `data` property of\n * the output {@link IValidation.Success} object.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Validation result with camel case object\n */\nexport declare function validateCamel<T>(input: T): IValidation<CamelCase<T>>;\n/**\n * Converts to camel case with type validation.\n *\n * Convert every property names of nested objects to follow the camel case\n * convention. If the input value does not follow the type `T`, it returns\n * {@link IValidation.Failure} object. Otherwise, there's no problem on the input\n * value, camel cased converted data would be stored in the `data` property of\n * the output {@link IValidation.Success} object.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Validation result with camel case object\n */\nexport declare function validateCamel<T>(input: unknown): IValidation<CamelCase<T>>;\n/**\n * Convert to pascal case.\n *\n * Convert every property names of nested objects to follow the pascal case\n * convention.\n *\n * For reference, this `typia.notations.pascal()` function does not validate the\n * input value type. It just believes that the input value is following the type\n * `T`. Therefore, if you can't ensure the input value type, it would be better\n * to call one of them below:\n *\n * - {@link assertPascal}\n * - {@link isPascal}\n * - {@link validatePascal}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Pascal case object\n */\nexport declare function pascal<T>(input: T): PascalCase<T>;\n/**\n * Converts to pascal case with type assertion.\n *\n * Convert every property names of nested objects to follow the pascal case\n * convention. If the input value does not follow the type `T`, it throws\n * {@link TypeGuardError}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Pascal case object\n */\nexport declare function assertPascal<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): PascalCase<T>;\n/**\n * Converts to pascal case with type assertion.\n *\n * Convert every property names of nested objects to follow the pascal case\n * convention. If the input value does not follow the type `T`, it throws\n * {@link TypeGuardError}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Pascal case object\n */\nexport declare function assertPascal<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): PascalCase<T>;\n/**\n * Converts to pascal case with type checking.\n *\n * Convert every property names of nested objects to follow the pascal case\n * convention. If the input value does not follow the type `T`, it returns\n * `null` value instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Pascal case object when exact type, otherwise null\n */\nexport declare function isPascal<T>(input: T): PascalCase<T> | null;\n/**\n * Converts to pascal case with type checking.\n *\n * Convert every property names of nested objects to follow the pascal case\n * convention. If the input value does not follow the type `T`, it returns\n * `null` value instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Pascal case object when exact type, otherwise null\n */\nexport declare function isPascal<T>(input: unknown): PascalCase<T> | null;\n/**\n * Converts to pascal case with type validation.\n *\n * Convert every property names of nested objects to follow the pascal case\n * convention. If the input value does not follow the type `T`, it returns\n * {@link IValidation.Failure} object. Otherwise, there's no problem on the input\n * value, pascal cased converted data would be stored in the `data` property of\n * the output {@link IValidation.Success} object.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Validation result with pascal case object\n */\nexport declare function validatePascal<T>(input: T): IValidation<PascalCase<T>>;\n/**\n * Converts to pascal case with type validation.\n *\n * Convert every property names of nested objects to follow the pascal case\n * convention. If the input value does not follow the type `T`, it returns\n * {@link IValidation.Failure} object. Otherwise, there's no problem on the input\n * value, pascal cased converted data would be stored in the `data` property of\n * the output {@link IValidation.Success} object.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Validation result with pascal case object\n */\nexport declare function validatePascal<T>(input: unknown): IValidation<PascalCase<T>>;\n/**\n * Convert to snake case.\n *\n * Convert every property names of nested objects to follow the snake case\n * convention.\n *\n * For reference, this `typia.notations.snake()` function does not validate the\n * input value type. It just believes that the input value is following the type\n * `T`. Therefore, if you can't ensure the input value type, it would be better\n * to call one of them below:\n *\n * - {@link assertSnake}\n * - {@link isSnake}\n * - {@link validateSnake}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Snake case object\n */\nexport declare function snake<T>(input: T): SnakeCase<T>;\n/**\n * Converts to snake case with type assertion.\n *\n * Convert every property names of nested objects to follow the snake case\n * convention. If the input value does not follow the type `T`, it throws\n * {@link TypeGuardError}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Snake case object\n */\nexport declare function assertSnake<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): SnakeCase<T>;\n/**\n * Converts to snake case with type assertion.\n *\n * Convert every property names of nested objects to follow the snake case\n * convention. If the input value does not follow the type `T`, it throws\n * {@link TypeGuardError}.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Snake case object\n */\nexport declare function assertSnake<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): SnakeCase<T>;\n/**\n * Converts to snake case with type checking.\n *\n * Convert every property names of nested objects to follow the snake case\n * convention. If the input value does not follow the type `T`, it returns\n * `null` value instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Snake case object when exact type, otherwise null\n */\nexport declare function isSnake<T>(input: T): SnakeCase<T> | null;\n/**\n * Converts to snake case with type checking.\n *\n * Convert every property names of nested objects to follow the snake case\n * convention. If the input value does not follow the type `T`, it returns\n * `null` value instead.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Snake case object when exact type, otherwise null\n */\nexport declare function isSnake<T>(input: unknown): SnakeCase<T> | null;\n/**\n * Converts to snake case with type validation.\n *\n * Convert every property names of nested objects to follow the snake case\n * convention. If the input value does not follow the type `T`, it returns\n * {@link IValidation.Failure} object. Otherwise, there's no problem on the input\n * value, snake cased converted data would be stored in the `data` property of\n * the output {@link IValidation.Success} object.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Validation result with snake case object\n */\nexport declare function validateSnake<T>(input: T): IValidation<SnakeCase<T>>;\n/**\n * Converts to snake case with type validation.\n *\n * Convert every property names of nested objects to follow the snake case\n * convention. If the input value does not follow the type `T`, it returns\n * {@link IValidation.Failure} object. Otherwise, there's no problem on the input\n * value, snake cased converted data would be stored in the `data` property of\n * the output {@link IValidation.Success} object.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param input Target object\n * @returns Validation result with snake case object\n */\nexport declare function validateSnake<T>(input: unknown): IValidation<SnakeCase<T>>;\n/**\n * Creates a reusable {@link camel} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createCamel(): never;\n/**\n * Creates a reusable {@link camel} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `camel` function\n */\nexport declare function createCamel<T>(): (input: T) => CamelCase<T>;\n/**\n * Creates a reusable {@link assertCamel} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertCamel(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertCamel} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertCamel` function\n */\nexport declare function createAssertCamel<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: T) => CamelCase<T>;\n/**\n * Creates a reusable {@link isCamel} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIsCamel(): never;\n/**\n * Creates a reusable {@link isCamel} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `isCamel` function\n */\nexport declare function createIsCamel<T>(): (input: T) => CamelCase<T> | null;\n/**\n * Creates a reusable {@link validateCamel} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidateCamel(): never;\n/**\n * Creates a reusable {@link validateCamel} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `validateCamel` function\n */\nexport declare function createValidateCamel<T>(): (input: T) => IValidation<CamelCase<T>>;\n/**\n * Creates a reusable {@link pascal} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createPascal(): never;\n/**\n * Creates a reusable {@link pascal} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `pascal` function\n */\nexport declare function createPascal<T>(): (input: T) => PascalCase<T>;\n/**\n * Creates a reusable {@link assertPascal} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertPascal(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertPascal} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertPascal` function\n */\nexport declare function createAssertPascal<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: T) => PascalCase<T>;\n/**\n * Creates a reusable {@link isPascal} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIsPascal(): never;\n/**\n * Creates a reusable {@link isPascal} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `isPascal` function\n */\nexport declare function createIsPascal<T>(): (input: T) => PascalCase<T> | null;\n/**\n * Creates a reusable {@link validatePascal} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidatePascal(): never;\n/**\n * Creates a reusable {@link validatePascal} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `validatePascal` function\n */\nexport declare function createValidatePascal<T>(): (input: T) => IValidation<PascalCase<T>>;\n/**\n * Creates a reusable {@link snake} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createSnake(): never;\n/**\n * Creates a reusable {@link snake} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `snake` function\n */\nexport declare function createSnake<T>(): (input: T) => SnakeCase<T>;\n/**\n * Creates a reusable {@link assertSnake} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertSnake(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertSnake} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertSnake` function\n */\nexport declare function createAssertSnake<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: T) => SnakeCase<T>;\n/**\n * Creates a reusable {@link isSnake} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIsSnake(): never;\n/**\n * Creates a reusable {@link isSnake} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `isSnake` function\n */\nexport declare function createIsSnake<T>(): (input: T) => SnakeCase<T> | null;\n/**\n * Creates a reusable {@link validateSnake} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until be configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidateSnake(): never;\n/**\n * Creates a reusable {@link validateSnake} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the input value\n * @returns A reusable `validateSnake` function\n */\nexport declare function createValidateSnake<T>(): (input: T) => IValidation<SnakeCase<T>>;\n",
|
|
879
875
|
"node_modules/typia/lib/programmers/AssertProgrammer.d.ts": "import ts from \"typescript\";\nimport { IProgrammerProps } from \"../transformers/IProgrammerProps\";\nimport { ITypiaContext } from \"../transformers/ITypiaContext\";\nimport { FeatureProgrammer } from \"./FeatureProgrammer\";\nimport { FunctionProgrammer } from \"./helpers/FunctionProgrammer\";\nexport declare namespace AssertProgrammer {\n interface IConfig {\n equals: boolean;\n guard: boolean;\n }\n interface IProps extends IProgrammerProps {\n config: IConfig;\n }\n const decompose: (props: {\n config: IConfig;\n context: ITypiaContext;\n functor: FunctionProgrammer;\n type: ts.Type;\n name: string | undefined;\n init?: ts.Expression | undefined;\n }) => FeatureProgrammer.IDecomposed;\n const write: (props: IProps) => ts.CallExpression;\n namespace Guardian {\n const identifier: () => ts.Identifier;\n const parameter: (props: {\n context: ITypiaContext;\n init: ts.Expression | undefined;\n }) => ts.ParameterDeclaration;\n const type: (context: ITypiaContext) => ts.FunctionTypeNode;\n }\n}\n",
|
|
880
876
|
"node_modules/typia/lib/programmers/CheckerProgrammer.d.ts": "import ts from \"typescript\";\nimport { MetadataCollection } from \"../factories/MetadataCollection\";\nimport { Metadata } from \"../schemas/metadata/Metadata\";\nimport { MetadataObjectType } from \"../schemas/metadata/MetadataObjectType\";\nimport { ITypiaContext } from \"../transformers/ITypiaContext\";\nimport { FeatureProgrammer } from \"./FeatureProgrammer\";\nimport { FunctionProgrammer } from \"./helpers/FunctionProgrammer\";\nimport { ICheckEntry } from \"./helpers/ICheckEntry\";\nimport { IExpressionEntry } from \"./helpers/IExpressionEntry\";\nexport declare namespace CheckerProgrammer {\n interface IConfig {\n prefix: string;\n path: boolean;\n trace: boolean;\n equals: boolean;\n numeric: boolean;\n addition?: () => ts.Statement[];\n decoder?: (props: {\n metadata: Metadata;\n input: ts.Expression;\n explore: IExplore;\n }) => ts.Expression;\n combiner: IConfig.Combiner;\n atomist: (props: {\n entry: ICheckEntry;\n input: ts.Expression;\n explore: IExplore;\n }) => ts.Expression;\n joiner: IConfig.IJoiner;\n success: ts.Expression;\n }\n namespace IConfig {\n interface Combiner {\n (props: {\n explore: IExplore;\n logic: \"and\" | \"or\";\n input: ts.Expression;\n binaries: IBinary[];\n expected: string;\n }): ts.Expression;\n }\n interface IJoiner {\n object(props: {\n input: ts.Expression;\n entries: IExpressionEntry<ts.Expression>[];\n }): ts.Expression;\n array(props: {\n input: ts.Expression;\n arrow: ts.ArrowFunction;\n }): ts.Expression;\n tuple?: undefined | ((exprs: ts.Expression[]) => ts.Expression);\n failure(props: {\n input: ts.Expression;\n expected: string;\n explore?: undefined | FeatureProgrammer.IExplore;\n }): ts.Expression;\n is?(expression: ts.Expression): ts.Expression;\n required?(exp: ts.Expression): ts.Expression;\n full?: undefined | ((props: {\n condition: ts.Expression;\n input: ts.Expression;\n expected: string;\n explore: IExplore;\n }) => ts.Expression);\n }\n }\n type IExplore = FeatureProgrammer.IExplore;\n interface IBinary {\n expression: ts.Expression;\n combined: boolean;\n }\n const compose: (props: {\n context: ITypiaContext;\n config: IConfig;\n functor: FunctionProgrammer;\n type: ts.Type;\n name: string | undefined;\n }) => FeatureProgrammer.IComposed;\n const write: (props: {\n context: ITypiaContext;\n config: IConfig;\n functor: FunctionProgrammer;\n type: ts.Type;\n name?: string;\n }) => ts.ArrowFunction;\n const write_object_functions: (props: {\n context: ITypiaContext;\n config: IConfig;\n functor: FunctionProgrammer;\n collection: MetadataCollection;\n }) => ts.VariableStatement[];\n const write_union_functions: (props: {\n context: ITypiaContext;\n config: IConfig;\n functor: FunctionProgrammer;\n collection: MetadataCollection;\n }) => ts.VariableStatement[];\n const write_array_functions: (props: {\n context: ITypiaContext;\n config: IConfig;\n functor: FunctionProgrammer;\n collection: MetadataCollection;\n }) => ts.VariableStatement[];\n const write_tuple_functions: (props: {\n context: ITypiaContext;\n config: IConfig;\n functor: FunctionProgrammer;\n collection: MetadataCollection;\n }) => ts.VariableStatement[];\n const decode: (props: {\n context: ITypiaContext;\n config: IConfig;\n functor: FunctionProgrammer;\n input: ts.Expression;\n metadata: Metadata;\n explore: IExplore;\n }) => ts.Expression;\n const decode_object: (props: {\n config: IConfig;\n functor: FunctionProgrammer;\n object: MetadataObjectType;\n input: ts.Expression;\n explore: IExplore;\n }) => ts.CallExpression;\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:
|
|
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",
|
|
@@ -962,7 +958,7 @@
|
|
|
962
958
|
"node_modules/typia/lib/programmers/internal/stringify_regular_properties.d.ts": "export {};\n",
|
|
963
959
|
"node_modules/typia/lib/programmers/internal/template_to_pattern.d.ts": "export {};\n",
|
|
964
960
|
"node_modules/typia/lib/programmers/internal/wrap_metadata_rest_tuple.d.ts": "export {};\n",
|
|
965
|
-
"node_modules/typia/lib/programmers/json/JsonApplicationProgrammer.d.ts": "import { MetadataFactory } from \"../../factories/MetadataFactory\";\nimport {
|
|
961
|
+
"node_modules/typia/lib/programmers/json/JsonApplicationProgrammer.d.ts": "import { MetadataFactory } from \"../../factories/MetadataFactory\";\nimport { IJsonSchemaApplication } from \"../../schemas/json/IJsonSchemaApplication\";\nimport { IJsDocTagInfo } from \"../../schemas/metadata/IJsDocTagInfo\";\nimport { Metadata } from \"../../schemas/metadata/Metadata\";\nimport { MetadataProperty } from \"../../schemas/metadata/MetadataProperty\";\nexport declare namespace JsonApplicationProgrammer {\n const validate: (metadata: Metadata, explore: MetadataFactory.IExplore) => string[];\n const write: <Version extends \"3.0\" | \"3.1\">(props: {\n version: Version;\n metadata: Metadata;\n filter?: (prop: MetadataProperty) => boolean;\n }) => IJsonSchemaApplication<Version>;\n const writeDescription: <Kind extends \"summary\" | \"title\">(props: {\n description: string | null;\n jsDocTags: IJsDocTagInfo[];\n kind: Kind;\n }) => Kind extends \"summary\" ? {\n summary?: string;\n description?: string;\n } : {\n title?: string;\n description?: string;\n };\n}\n",
|
|
966
962
|
"node_modules/typia/lib/programmers/json/JsonAssertParseProgrammer.d.ts": "import ts from \"typescript\";\nimport { IProgrammerProps } from \"../../transformers/IProgrammerProps\";\nimport { ITypiaContext } from \"../../transformers/ITypiaContext\";\nimport { FeatureProgrammer } from \"../FeatureProgrammer\";\nimport { FunctionProgrammer } from \"../helpers/FunctionProgrammer\";\nexport declare namespace JsonAssertParseProgrammer {\n const decompose: (props: {\n context: ITypiaContext;\n functor: FunctionProgrammer;\n type: ts.Type;\n name: string | undefined;\n init: ts.Expression | undefined;\n }) => FeatureProgrammer.IDecomposed;\n const write: (props: IProgrammerProps) => ts.CallExpression;\n}\n",
|
|
967
963
|
"node_modules/typia/lib/programmers/json/JsonAssertStringifyProgrammer.d.ts": "import ts from \"typescript\";\nimport { IProgrammerProps } from \"../../transformers/IProgrammerProps\";\nimport { ITypiaContext } from \"../../transformers/ITypiaContext\";\nimport { FeatureProgrammer } from \"../FeatureProgrammer\";\nimport { FunctionProgrammer } from \"../helpers/FunctionProgrammer\";\nexport declare namespace JsonAssertStringifyProgrammer {\n const decompose: (props: {\n context: ITypiaContext;\n functor: FunctionProgrammer;\n type: ts.Type;\n name: string | undefined;\n init: ts.Expression | undefined;\n }) => FeatureProgrammer.IDecomposed;\n const write: (props: IProgrammerProps) => ts.CallExpression;\n}\n",
|
|
968
964
|
"node_modules/typia/lib/programmers/json/JsonIsParseProgrammer.d.ts": "import ts from \"typescript\";\nimport { IProgrammerProps } from \"../../transformers/IProgrammerProps\";\nimport { ITypiaContext } from \"../../transformers/ITypiaContext\";\nimport { FeatureProgrammer } from \"../FeatureProgrammer\";\nimport { FunctionProgrammer } from \"../helpers/FunctionProgrammer\";\nexport declare namespace JsonIsParseProgrammer {\n const decompose: (props: {\n context: ITypiaContext;\n functor: FunctionProgrammer;\n type: ts.Type;\n name: string | undefined;\n }) => FeatureProgrammer.IDecomposed;\n const write: (props: IProgrammerProps) => ts.CallExpression;\n}\n",
|
|
@@ -1000,10 +996,9 @@
|
|
|
1000
996
|
"node_modules/typia/lib/programmers/protobuf/ProtobufValidateEncodeProgrammer.d.ts": "import ts from \"typescript\";\nimport { IProgrammerProps } from \"../../transformers/IProgrammerProps\";\nimport { ITypiaContext } from \"../../transformers/ITypiaContext\";\nimport { FeatureProgrammer } from \"../FeatureProgrammer\";\nimport { FunctionProgrammer } from \"../helpers/FunctionProgrammer\";\nexport declare namespace ProtobufValidateEncodeProgrammer {\n const decompose: (props: {\n context: ITypiaContext;\n modulo: ts.LeftHandSideExpression;\n functor: FunctionProgrammer;\n type: ts.Type;\n name: string | undefined;\n }) => FeatureProgrammer.IDecomposed;\n const write: (props: IProgrammerProps) => ts.CallExpression;\n}\n",
|
|
1001
997
|
"node_modules/typia/lib/protobuf.d.ts": "import { IValidation } from \"./IValidation\";\nimport { Resolved } from \"./Resolved\";\nimport { TypeGuardError } from \"./TypeGuardError\";\n/**\n * > You must configure the generic argument `T`.\n *\n * Protocol Buffer Message Schema.\n *\n * Creates a Protocol Buffer Message Schema from a TypeScript type. The message\n * schema would be returned as a string value, and it can be used to share with\n * other developers/languages/frameworks.\n *\n * For reference, Protocol Buffer has lots of restrictions, so that expression\n * power of Protocol Buffer is not enough strong to fully meet the TypeScript\n * type specs. In such reason, if you put a TypeScript type that is not\n * compatible with Protocol Buffer, this function would throw compilation\n * errors.\n *\n * - [Restrictions of Protocol\n * Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @returns Protocol Buffer Message Schema.\n */\nexport declare function message(): never;\n/**\n * Protocol Buffer Message Schema.\n *\n * Creates a Protocol Buffer Message Schema from a TypeScript type. The message\n * schema would be returned as a string value, and it can be used to share with\n * other developers/languages/frameworks.\n *\n * For reference, Protocol Buffer has lots of restrictions, so that expression\n * power of Protocol Buffer is not enough strong to fully meet the TypeScript\n * type specs. In such reason, if you put a TypeScript type that is not\n * compatible with Protocol Buffer, this function would throw compilation\n * errors.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @returns Protocol Buffer Message Schema.\n */\nexport declare function message<T>(): string;\n/**\n * > You must configure the generic argument `T`.\n *\n * Protocol Buffer Decoder.\n *\n * `typia.protobuf.decode()` is a function decoding a binary data of Protocol\n * Buffer format to a TypeScript instance.\n *\n * For reference, as Protocol Buffer handles binary data directly, there's no\n * way when `input` binary data was not encoded from the `T` typed value. In\n * that case, unexpected behavior or internal error would be occurred.\n * Therefore, I recommend you to encode binary data of Protocol Buffer from type\n * safe encode functions like below. Use {@link encode} function only when you\n * can ensure it.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * Also, `typia` is providing type safe decoders like {@link assertDecode}, but\n * it is just for additional type validation like `number & Minimum<7>` or\n * `string & Format<\"uuid\">` cases, that are represented by [custom\n * tags](https://typia.io/docs/validators/tags). Thus, I repeat that, you've to\n * ensure the type safety when using decoder functions.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n */\nexport declare function decode(input: Uint8Array): never;\n/**\n * Protocol Buffer Decoder.\n *\n * `typia.protobuf.decode()` is a function decoding a binary data of Protocol\n * Buffer format to a TypeScript instance.\n *\n * For reference, as Protocol Buffer handles binary data directly, there's no\n * way when `input` binary data was not encoded from the `T` typed value. In\n * that case, unexpected behavior or internal error would be occurred.\n * Therefore, I recommend you to encode binary data of Protocol Buffer from type\n * safe encode functions like below. Use {@link encode} function only when you\n * can ensure it.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * Also, `typia` is providing type safe decoders like {@link assertDecode}, but\n * it is just for additional type validation like `number & Minimum<7>` or\n * `string & Format<\"uuid\">` cases, that are represented by [custom\n * tags](https://typia.io/docs/validators/tags). Thus, I repeat that, you've to\n * ensure the type safety when using decoder functions.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n */\nexport declare function decode<T>(input: Uint8Array): Resolved<T>;\n/**\n * > You must configure the generic argument `T`.\n *\n * Protocol Buffer Decoder wity type assertion, but not safe.\n *\n * `typia.protobuf.assertDecode()` is a combination function of {@link decode}\n * and {@link assert} function. Therefore, it decodes a binary data of Protocol\n * Buffer to a TypeScript instance, and performs type assertion process. If\n * decoded value is following the type `T`, it returns the decoded value.\n * Otherwise, it throws {@link TypeGuardError} instead.\n *\n * However, note that, this validation is not always safe. It just performs\n * additional type assertion like `number & Minimum<7>` or `string &\n * Format<\"uuid\">` cases, that are represented by [custom\n * tags](https://typia.io/docs/validators/tags). Therefore, when using\n * `typia.protobuf.assertDecode<T>()` function, you have to ensure the type\n * safety by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode\n * functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Decoded value\n */\nexport declare function assertDecode(input: Uint8Array, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Protocol Buffer Decoder wity type assertion, but not safe.\n *\n * `typia.protobuf.assertDecode()` is a combination function of {@link decode}\n * and {@link assert} function. Therefore, it decodes a binary data of Protocol\n * Buffer to a TypeScript instance, and performs type assertion process. If\n * decoded value is following the type `T`, it returns the decoded value.\n * Otherwise, it throws {@link TypeGuardError} instead.\n *\n * However, note that, this validation is not always safe. It just performs\n * additional type assertion like `number & Minimum<7>` or `string &\n * Format<\"uuid\">` cases, that are represented by [custom\n * tags](https://typia.io/docs/validators/tags). Therefore, when using\n * `typia.protobuf.assertDecode<T>()` function, you have to ensure the type\n * safety by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode\n * functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Decoded value\n */\nexport declare function assertDecode<T>(input: Uint8Array, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Resolved<T>;\n/**\n * > You must configure the generic argument `T`.\n *\n * Protocol Buffer Decoder wity type checking, but not safe.\n *\n * `typia.protobuf.isDecode()` is a combination function of {@link decode} and\n * {@link is} function. Therefore, it decodes a binary data of Protocol Buffer to\n * a TypeScript instance, and performs type checking process. If decoded value\n * is following the type `T`, it returns the decoded value. Otherwise, it\n * returns `null` value instead.\n *\n * However, note that, this validation is not always safe. It just performs\n * additional type checking like `number & Minimum<7>` or `string &\n * Format<\"uuid\">` cases, that are represented by [custom\n * tags](https://typia.io/docs/validators/tags). Therefore, when using\n * `typia.protobuf.isDecode<T>()` function, you have to ensure the type safety\n * by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode\n * functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n */\nexport declare function isDecode(input: Uint8Array): never;\n/**\n * Protocol Buffer Decoder wity type checking, but not safe.\n *\n * `typia.protobuf.isDecode()` is a combination function of {@link decode} and\n * {@link is} function. Therefore, it decodes a binary data of Protocol Buffer to\n * a TypeScript instance, and performs type checking process. If decoded value\n * is following the type `T`, it returns the decoded value. Otherwise, it\n * returns `null` value instead.\n *\n * However, note that, this validation is not always safe. It just performs\n * additional type checking like `number & Minimum<7>` or `string &\n * Format<\"uuid\">` cases, that are represented by [custom\n * tags](https://typia.io/docs/validators/tags). Therefore, when using\n * `typia.protobuf.isDecode<T>()` function, you have to ensure the type safety\n * by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode\n * functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n */\nexport declare function isDecode<T>(input: Uint8Array): Resolved<T> | null;\n/**\n * > You must configure the generic argument `T`.\n *\n * Protocol Buffer Decoder wity type validation, but not safe.\n *\n * `typia.protobuf.validateDecode()` is a combination function of {@link decode}\n * and {@link validate} function. Therefore, it decodes a binary data of Protocol\n * Buffer to a TypeScript instance, and performs type validation process. If\n * decoded value is following the type `T`, it returns the decoded value with\n * {@link IValidation.ISuccess} typed instance. Otherwise, it returns\n * {@link IValidation.IFailure} value instead with detailed error reasons.\n *\n * However, note that, this validation is not always safe. It just performs\n * additional type validation like `number & Minimum<7>` or `string &\n * Format<\"uuid\">` cases, that are represented by [custom\n * tags](https://typia.io/docs/validators/tags). Therefore, when using\n * `typia.protobuf.validateDecode<T>()` function, you have to ensure the type\n * safety by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode\n * functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n */\nexport declare function validateDecode(input: Uint8Array): never;\n/**\n * Protocol Buffer Decoder wity type validation, but not safe.\n *\n * `typia.protobuf.validateDecode()` is a combination function of {@link decode}\n * and {@link validate} function. Therefore, it decodes a binary data of Protocol\n * Buffer to a TypeScript instance, and performs type validation process. If\n * decoded value is following the type `T`, it returns the decoded value with\n * {@link IValidation.ISuccess} typed instance. Otherwise, it returns\n * {@link IValidation.IFailure} value instead with detailed error reasons.\n *\n * However, note that, this validation is not always safe. It just performs\n * additional type validation like `number & Minimum<7>` or `string &\n * Format<\"uuid\">` cases, that are represented by [custom\n * tags](https://typia.io/docs/validators/tags). Therefore, when using\n * `typia.protobuf.validateDecode<T>()` function, you have to ensure the type\n * safety by yourself.\n *\n * In such type safety reason, I recommend you to use type safe encode\n * functions.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Expected type of decoded value\n * @param input Protobuf Buffer binary data\n * @returns Decoded value\n */\nexport declare function validateDecode<T>(input: Uint8Array): IValidation<Resolved<T>>;\n/**\n * Protocol Buffer Encoder.\n *\n * Converts an input value to a binary data of Protocol Buffer format.\n *\n * For reference, this `typia.protobuf.encode()` does not validate the `input`\n * value. It just believes that the `input` value is valid and converts it to a\n * binary data directly. Therefore, if you can't ensure the `input` value type,\n * it would better to call one of below functions instead.\n *\n * - {@link assertEncode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough\n * strong to fully meet the TypeScript type specs. In such reason, if you put a\n * TypeScript type that is not compatible with Protocol Buffer, this function\n * would throw compilation errors.\n *\n * - [Restrictions of Protocol\n * Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the value input\n * @param input A value to encode\n * @returns Encoded binary data\n */\nexport declare function encode<T>(input: T): Uint8Array;\n/**\n * Protocol Buffer Encoder with type assertion.\n *\n * `typia.protobuf.assertEncode()` is a combination function of {@link assert}\n * and {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of Protocol Buffer,\n * with type assertion. If `input` value is not valid, it throws\n * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value,\n * Protocol Buffer binary data would be returned.\n *\n * If you can trust `input` value, or want to perform other type of validation,\n * use below functions instead.\n *\n * - {@link encode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough\n * strong to fully meet the TypeScript type specs. In such reason, if you put a\n * TypeScript type that is not compatible with Protocol Buffer, this function\n * would throw compilation errors.\n *\n * - [Restrictions of Protocol\n * Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the value input\n * @param input A value to encode\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Encoded binary data\n */\nexport declare function assertEncode<T>(input: T, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Uint8Array;\n/**\n * Protocol Buffer Encoder with type assertion.\n *\n * `typia.protobuf.assertEncode()` is a combination function of {@link assert}\n * and {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of Protocol Buffer,\n * with type assertion. If `input` value is not valid, it throws\n * {@link TypeGuardError}. Otherwise, there's no problem on the `input` value,\n * Protocol Buffer binary data would be returned.\n *\n * If you can trust `input` value, or want to perform other type of validation,\n * use below functions instead.\n *\n * - {@link encode}\n * - {@link isEncode}\n * - {@link validateEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough\n * strong to fully meet the TypeScript type specs. In such reason, if you put a\n * TypeScript type that is not compatible with Protocol Buffer, this function\n * would throw compilation errors.\n *\n * - [Restrictions of Protocol\n * Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the value input\n * @param input A value to encode\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Encoded binary data\n */\nexport declare function assertEncode<T>(input: unknown, errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): Uint8Array;\n/**\n * Protocol Buffer Encoder with type checking.\n *\n * `typia.protobuf.isEncode()` is a combination function of {@link is} and\n * {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of Protocol Buffer,\n * with type checking. If `input` value is not valid, it returns `null` value.\n * Otherwise, there's no problem on the `input` value, Protocol Buffer binary\n * data would be returned.\n *\n * If you can trust `input` value, or want to perform other type of validation,\n * use below functions instead.\n *\n * - {@link encode}\n * - {@link assertEncode}\n * - {@link validateEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough\n * strong to fully meet the TypeScript type specs. In such reason, if you put a\n * TypeScript type that is not compatible with Protocol Buffer, this function\n * would throw compilation errors.\n *\n * - [Restrictions of Protocol\n * Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the value input\n * @param input A value to encode\n * @returns Encoded binary data\n */\nexport declare function isEncode<T>(input: T): Uint8Array | null;\n/**\n * Protocol Buffer Encoder with type checking.\n *\n * `typia.protobuf.isEncode()` is a combination function of {@link is} and\n * {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of Protocol Buffer,\n * with type checking. If `input` value is not valid, it returns `null` value.\n * Otherwise, there's no problem on the `input` value, Protocol Buffer binary\n * data would be returned.\n *\n * If you can trust `input` value, or want to perform other type of validation,\n * use below functions instead.\n *\n * - {@link encode}\n * - {@link assertEncode}\n * - {@link validateEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough\n * strong to fully meet the TypeScript type specs. In such reason, if you put a\n * TypeScript type that is not compatible with Protocol Buffer, this function\n * would throw compilation errors.\n *\n * - [Restrictions of Protocol\n * Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the value input\n * @param input A value to encode\n * @returns Encoded binary data\n */\nexport declare function isEncode<T>(input: unknown): Uint8Array | null;\n/**\n * Protocol Buffer Encoder with type validation.\n *\n * `typia.protobuf.validateEncode()` is a combination function of\n * {@link validation} and {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of Protocol Buffer,\n * with type validation. If `input` value is not valid, it returns\n * {@link IValidation.IFailure} value with detailed error reasons. Otherwise,\n * there's no problem on the `input` value, Protocol Buffer binary data would be\n * stored in `data` property of the output {@link IValidation.ISuccess}\n * instance.\n *\n * If you can trust `input` value, or want to perform other type of validation,\n * use below functions instead.\n *\n * - {@link encode}\n * - {@link assertEncode}\n * - {@link isEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough\n * strong to fully meet the TypeScript type specs. In such reason, if you put a\n * TypeScript type that is not compatible with Protocol Buffer, this function\n * would throw compilation errors.\n *\n * - [Restrictions of Protocol\n * Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the value input\n * @param input A value to encode\n * @returns Encoded binary data\n */\nexport declare function validateEncode<T>(input: T): IValidation<Uint8Array>;\n/**\n * Protocol Buffer Encoder with type validation.\n *\n * `typia.protobuf.validateEncode()` is a combination function of\n * {@link validation} and {@link encode}.\n *\n * Therefore, it converts an `input` value to a binary data of Protocol Buffer,\n * with type validation. If `input` value is not valid, it returns\n * {@link IValidation.IFailure} value with detailed error reasons. Otherwise,\n * there's no problem on the `input` value, Protocol Buffer binary data would be\n * stored in `data` property of the output {@link IValidation.ISuccess}\n * instance.\n *\n * If you can trust `input` value, or want to perform other type of validation,\n * use below functions instead.\n *\n * - {@link encode}\n * - {@link assertEncode}\n * - {@link isEncode}\n *\n * By the way, you know what? Expression power of Protocol Buffer is not enough\n * strong to fully meet the TypeScript type specs. In such reason, if you put a\n * TypeScript type that is not compatible with Protocol Buffer, this function\n * would throw compilation errors.\n *\n * - [Restrictions of Protocol\n * Buffer](https://typia.io/docs/protobuf/message/#restrictions)\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Type of the value input\n * @param input A value to encode\n * @returns Encoded binary data\n */\nexport declare function validateEncode<T>(input: unknown): IValidation<Uint8Array>;\n/**\n * Creates a reusable {@link decode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createDecode(): never;\n/**\n * Creates a reusable {@link decode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @returns A reusable `decode` function\n */\nexport declare function createDecode<T>(): (input: Uint8Array) => Resolved<T>;\n/**\n * Creates a reusable {@link isDecode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIsDecode(): never;\n/**\n * Creates a reusable {@link isDecode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @returns A reusable `isDecode` function\n */\nexport declare function createIsDecode<T>(): (input: Uint8Array) => Resolved<T> | null;\n/**\n * Creates a reusable {@link assertDecode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertDecode(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertDecode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertDecode` function\n */\nexport declare function createAssertDecode<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: Uint8Array) => Resolved<T>;\n/**\n * Creates a reusable {@link validateDecode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidateDecode(): never;\n/**\n * Creates a reusable {@link validateDecode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @returns A reusable `validateDecode` function\n */\nexport declare function createValidateDecode<T>(): (input: Uint8Array) => IValidation<Resolved<T>>;\n/**\n * Creates a reusable {@link encode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createEncode(): never;\n/**\n * Creates a reusable {@link encode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @returns A reusable `encode` function\n */\nexport declare function createEncode<T>(): (input: T) => Uint8Array;\n/**\n * Creates a reusable {@link isEncode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createIsEncode(): never;\n/**\n * Creates a reusable {@link isEncode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @returns A reusable `isEncode` function\n */\nexport declare function createIsEncode<T>(): (input: T) => Uint8Array | null;\n/**\n * Creates a reusable {@link assertEncode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createAssertEncode(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): never;\n/**\n * Creates a reusable {@link assertEncode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @param errorFactory Custom error factory. Default is `TypeGuardError`\n * @returns A reusable `assertEncode` function\n */\nexport declare function createAssertEncode<T>(errorFactory?: undefined | ((props: TypeGuardError.IProps) => Error)): (input: T) => Uint8Array;\n/**\n * Creates a reusable {@link validateEncode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @returns Nothing until you configure the generic argument `T`\n * @throws Compile error\n * @danger You must configure the generic argument `T`\n */\nexport declare function createValidateEncode(): never;\n/**\n * Creates a reusable {@link validateEncode} function.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template T Target type\n * @returns A reusable `validateEncode` function\n */\nexport declare function createValidateEncode<T>(): (input: T) => IValidation<Uint8Array>;\n",
|
|
1002
998
|
"node_modules/typia/lib/reflect.d.ts": "import { IMetadataApplication } from \"./schemas/metadata/IMetadataApplication\";\n/**\n * > You must configure the generic argument `Types`.\n *\n * Metadata Application.\n *\n * Creates a Metadata application which contains the metadata and components.\n *\n * Note that, all of the collection types like Array, Tuple and Objects are\n * stored in the {@link IMetadataApplication.components} property. Also, alias\n * types are stored in the {@link IMetadataApplication.aliases} property, too.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Types Tuple of target types\n * @returns Metadata application\n */\nexport declare function metadata(): never;\n/**\n * Metadata Application.\n *\n * Creates a Metadata application which contains the metadata and components.\n *\n * Note that, all of the collection types like Array, Tuple and Objects are\n * stored in the {@link IMetadataApplication.components} property. Also, alias\n * types are stored in the {@link IMetadataApplication.aliases} property, too.\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @template Types Tuple of target types\n * @returns Metadata application\n */\nexport declare function metadata<Types extends unknown[]>(): IMetadataApplication;\nexport declare function name<T, Regular extends boolean = false>(): string;\nexport declare function name(): never;\n",
|
|
1003
|
-
"node_modules/typia/lib/schemas/json/
|
|
999
|
+
"node_modules/typia/lib/schemas/json/IJsonSchemaApplication.d.ts": "import { OpenApi, OpenApiV3 } from \"@samchon/openapi\";\nexport interface IJsonSchemaApplication<Version extends \"3.0\" | \"3.1\" = \"3.1\", App extends any = object> {\n version: Version;\n components: IJsonSchemaApplication.IComponents<IJsonSchemaApplication.Schema<Version>>;\n functions: IJsonSchemaApplication.IFunction<IJsonSchemaApplication.Schema<Version>>[];\n __application?: App | undefined;\n}\nexport declare namespace IJsonSchemaApplication {\n type Schema<Version extends \"3.0\" | \"3.1\"> = Version extends \"3.1\" ? OpenApi.IJsonSchema : OpenApiV3.IJsonSchema;\n interface IComponents<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n schemas?: Record<string, Schema>;\n }\n interface IFunction<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n async: boolean;\n name: string;\n parameters: IParameter<Schema>[];\n output: IOutput<Schema> | undefined;\n summary?: string | undefined;\n description?: string | undefined;\n deprecated?: boolean;\n tags?: string[];\n }\n interface IParameter<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n name: string;\n required: boolean;\n schema: Schema;\n title?: string | undefined;\n description?: string | undefined;\n }\n interface IOutput<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n schema: Schema;\n required: boolean;\n description?: string | undefined;\n }\n}\n",
|
|
1004
1000
|
"node_modules/typia/lib/schemas/json/IJsonSchemaCollection.d.ts": "import type { OpenApi, OpenApiV3 } from \"@samchon/openapi\";\n/**\n * Collection of JSON schemas with OpenAPI specification support.\n *\n * `IJsonSchemaCollection` represents a comprehensive collection of JSON schemas\n * that can be generated from TypeScript types using the `typia.json.schemas()`\n * function. This interface supports both OpenAPI v3.0 and v3.1 specifications,\n * with the ability to automatically generate appropriate schema definitions\n * based on the specified version.\n *\n * The collection includes:\n *\n * - Generated JSON schemas array containing schema definitions for the specified\n * types\n * - Reusable components that can be referenced across different schemas\n * - Version-specific formatting that adheres to either OpenAPI v3.0 or v3.1\n * standards\n *\n * Key differences between versions:\n *\n * - OpenAPI v3.0: Uses {@link OpenApiV3.IJsonSchema} format with limited tuple\n * support\n * - OpenAPI v3.1: Uses {@link OpenApi.IJsonSchema} format with full JSON Schema\n * Draft 2020-12 compatibility\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @example\n * ```typescript\n * // Generate schemas for OpenAPI v3.1 (default)\n * const schemas = typia.json.schemas<[User, Product]>();\n * // Type: IJsonSchemaCollection<\"3.1\", [User, Product]>\n *\n * // Generate schemas for OpenAPI v3.0 (Swagger compatibility)\n * const swaggerSchemas = typia.json.schemas<[User, Product], \"3.0\">();\n * // Type: IJsonSchemaCollection<\"3.0\", [User, Product]>\n * ```;\n *\n * @template Version The OpenAPI specification version to target (\"3.0\" or\n * \"3.1\"). Defaults to \"3.1\" for enhanced JSON Schema compatibility.\n * @template Types Array of original TypeScript types that were analyzed to\n * generate the JSON schemas. This provides type safety and traceability back\n * to the source TypeScript definitions.\n */\nexport type IJsonSchemaCollection<Version extends \"3.0\" | \"3.1\" = \"3.1\", Types = unknown[]> = Version extends \"3.0\" ? IJsonSchemaCollection.IV3_0<Types> : IJsonSchemaCollection.IV3_1<Types>;\nexport declare namespace IJsonSchemaCollection {\n /**\n * JSON Schema collection formatted for OpenAPI v3.0 specification.\n *\n * This interface represents a collection of JSON schemas that comply with\n * OpenAPI v3.0 standards, which are compatible with Swagger tools and legacy\n * OpenAPI implementations. OpenAPI v3.0 has some limitations compared to\n * v3.1, particularly around tuple types and pattern properties.\n *\n * Key characteristics of v3.0:\n *\n * - Cannot express tuple types natively (falls back to array representations)\n * - Cannot express pattern properties in object schemas\n * - Uses nullable property instead of union with null type\n * - Limited JSON Schema Draft compatibility (based on Draft 4)\n *\n * @template Types Array of original TypeScript types used to generate the\n * schemas. This provides compile-time type information about what types\n * were analyzed during schema generation.\n */\n interface IV3_0<Types = unknown[]> {\n /**\n * OpenAPI specification version identifier.\n *\n * Always set to \"3.0\" to indicate this collection uses OpenAPI v3.0 schema\n * format and constraints.\n */\n version: \"3.0\";\n /**\n * Array of generated JSON schemas.\n *\n * Contains the actual JSON schema definitions generated from the input\n * TypeScript types. Each schema in this array corresponds to one of the\n * types specified in the `Types` template parameter. The schemas follow\n * OpenAPI v3.0 format and may contain references to components defined in\n * the {@link components} property.\n *\n * Schema references typically use the format: `{ \"$ref\":\n * \"#/components/schemas/TypeName\" }`\n */\n schemas: OpenApiV3.IJsonSchema[];\n /**\n * Reusable schema components for OpenAPI v3.0.\n *\n * Contains reusable schema definitions, security schemes, and other\n * components that can be referenced from the main schemas. This follows the\n * OpenAPI v3.0 components structure and enables schema reuse and\n * modularity.\n *\n * Components include:\n *\n * - Schemas: Named type definitions that can be referenced via $ref\n * - SecuritySchemes: Authentication and authorization schemes\n * - Parameters: Reusable parameter definitions\n * - RequestBodies: Reusable request body definitions\n * - Responses: Reusable response definitions\n * - Headers: Reusable header definitions\n * - Examples: Reusable example definitions\n */\n components: OpenApiV3.IComponents;\n /**\n * Type metadata for compile-time type tracking.\n *\n * This optional property stores the original TypeScript types that were\n * used to generate the JSON schemas. It's primarily used for type safety\n * and doesn't affect runtime behavior. The property is marked as optional\n * and undefined to prevent it from appearing in serialized JSON output.\n *\n * This enables:\n *\n * - Compile-time type checking against the original types\n * - IDE intellisense and autocompletion\n * - Type-safe schema validation and usage\n */\n __types?: Types | undefined;\n }\n /**\n * JSON Schema collection formatted for OpenAPI v3.1 specification.\n *\n * This interface represents a collection of JSON schemas that comply with\n * OpenAPI v3.1 standards, which provide enhanced JSON Schema compatibility\n * and support for modern JSON Schema features. OpenAPI v3.1 is based on JSON\n * Schema Draft 2020-12 and offers significant improvements over v3.0.\n *\n * Key advantages of v3.1:\n *\n * - Full tuple type support with prefixItems\n * - Pattern properties support for dynamic object keys\n * - Proper null type handling via union types\n * - Enhanced JSON Schema Draft 2020-12 compatibility\n * - Better const, enum, and validation support\n *\n * @template Types Array of original TypeScript types used to generate the\n * schemas. This provides compile-time type information about what types\n * were analyzed during schema generation.\n */\n interface IV3_1<Types = unknown[]> {\n /**\n * OpenAPI specification version identifier.\n *\n * Always set to \"3.1\" to indicate this collection uses OpenAPI v3.1 schema\n * format with enhanced JSON Schema compatibility.\n */\n version: \"3.1\";\n /**\n * Reusable schema components for OpenAPI v3.1.\n *\n * Contains reusable schema definitions and other components following the\n * OpenAPI v3.1 specification. This structure is similar to v3.0 but\n * supports enhanced JSON Schema features and improved type definitions.\n *\n * Components include:\n *\n * - Schemas: Named type definitions with enhanced JSON Schema support\n * - SecuritySchemes: Authentication and authorization schemes\n *\n * The emended OpenAPI v3.1 format used here removes ambiguous expressions\n * and standardizes certain patterns for better tooling compatibility.\n */\n components: OpenApi.IComponents;\n /**\n * Array of generated JSON schemas with v3.1 enhancements.\n *\n * Contains JSON schema definitions that take advantage of OpenAPI v3.1's\n * enhanced capabilities. These schemas can express more complex TypeScript\n * types accurately, including:\n *\n * - Tuple types using prefixItems\n * - Union types with proper null handling\n * - Complex nested object structures\n * - Pattern-based property definitions\n *\n * Each schema corresponds to one of the input TypeScript types and may\n * reference components defined in the {@link components} property.\n */\n schemas: OpenApi.IJsonSchema[];\n /**\n * Type metadata for compile-time type tracking.\n *\n * This optional property stores the original TypeScript types that were\n * used to generate the JSON schemas. It provides compile-time type safety\n * and enables better development experience without affecting runtime\n * behavior.\n *\n * Benefits include:\n *\n * - Strong typing connection to original TypeScript definitions\n * - Enhanced IDE support and autocompletion\n * - Compile-time validation of schema usage\n * - Type-safe integration with validation libraries\n */\n __types?: Types | undefined;\n }\n}\n",
|
|
1005
1001
|
"node_modules/typia/lib/schemas/json/IJsonSchemaUnit.d.ts": "import { OpenApi, OpenApiV3 } from \"@samchon/openapi\";\n/**\n * Single unit of JSON schema representation.\n *\n * `IJsonSchemaUnit` represents a self-contained JSON schema unit that\n * encapsulates a single schema definition along with its associated reusable\n * components. This is typically used when generating a JSON schema for a single\n * TypeScript type, as opposed to a collection of multiple types.\n *\n * Unlike {@link IJsonSchemaCollection} which handles multiple schemas,\n * `IJsonSchemaUnit` focuses on representing a single schema with its\n * dependencies. This makes it ideal for scenarios where you need to work with\n * individual type definitions or when integrating with systems that expect\n * single schema documents.\n *\n * The unit contains:\n *\n * - A single JSON schema definition for the specified TypeScript type\n * - All necessary reusable components that the schema may reference\n * - Version-specific formatting for either OpenAPI v3.0 or v3.1 compatibility\n * - Optional type metadata for compile-time type safety\n *\n * Key differences from collection:\n *\n * - Contains only one schema instead of an array of schemas\n * - More lightweight for single-type use cases\n * - Simpler structure for direct schema consumption\n * - Still maintains full component reference support\n *\n * @author Jeongho Nam - https://github.com/samchon\n * @example\n * ```typescript\n * interface User {\n * id: string;\n * name: string;\n * email?: string;\n * }\n *\n * // Generate a single schema unit for OpenAPI v3.1 (default)\n * const userSchema = typia.json.schema<User>();\n * // Type: IJsonSchemaUnit<\"3.1\", User>\n *\n * // Generate a single schema unit for OpenAPI v3.0 (Swagger compatibility)\n * const swaggerUserSchema = typia.json.schema<User, \"3.0\">();\n * // Type: IJsonSchemaUnit<\"3.0\", User>\n * ```;\n *\n * @template Version The OpenAPI specification version to target (\"3.0\" or\n * \"3.1\"). Defaults to \"3.1\" for enhanced JSON Schema Draft 2020-12\n * compatibility. This determines the schema format, validation capabilities,\n * and available features like tuple support and null type handling.\n * @template Type The original TypeScript type that was analyzed to generate\n * this JSON schema unit. This provides compile-time type safety and enables\n * IDEs to provide better intellisense and validation.\n * @see {@link IJsonSchemaCollection} For handling multiple schemas at once\n */\nexport type IJsonSchemaUnit<Version extends \"3.0\" | \"3.1\" = \"3.1\", Type = unknown> = Version extends \"3.0\" ? IJsonSchemaUnit.IV3_0<Type> : IJsonSchemaUnit.IV3_1<Type>;\nexport declare namespace IJsonSchemaUnit {\n /**\n * JSON Schema unit formatted for OpenAPI v3.0 specification.\n *\n * This interface represents a single JSON schema unit that complies with\n * OpenAPI v3.0 standards. It contains one schema definition along with any\n * reusable components that the schema references, formatted according to\n * OpenAPI v3.0 constraints and limitations.\n *\n * OpenAPI v3.0 characteristics affecting this unit:\n *\n * - Schema follows OpenAPI v3.0 JSON Schema subset\n * - Limited support for advanced JSON Schema features\n * - Uses nullable property for optional null values\n * - Cannot natively express tuple types or pattern properties\n * - Based on JSON Schema Draft 4 with OpenAPI-specific extensions\n *\n * Use cases for v3.0:\n *\n * - Integration with legacy Swagger tooling\n * - Compatibility with older OpenAPI implementations\n * - Systems that specifically require OpenAPI v3.0 format\n * - Code generation tools that expect v3.0 schemas\n *\n * @template Type The original TypeScript type represented by this schema\n * unit. Provides compile-time type information and enables type-safe\n * operations on the schema.\n */\n interface IV3_0<Type> {\n /**\n * OpenAPI specification version identifier.\n *\n * Always set to \"3.0\" to indicate this schema unit uses OpenAPI v3.0 format\n * and adheres to its specific constraints and limitations.\n */\n version: \"3.0\";\n /**\n * The primary JSON schema definition.\n *\n * Contains the main JSON schema that represents the TypeScript type\n * specified in the `Type` template parameter. This schema follows OpenAPI\n * v3.0 format and may contain references to reusable components defined in\n * the {@link components} property.\n *\n * The schema structure includes:\n *\n * - Type definitions following OpenAPI v3.0 constraints\n * - Property definitions with v3.0-compatible validation rules\n * - References to shared components using $ref syntax\n * - Nullable properties for optional fields that can be null\n *\n * Example schema reference: `{ \"$ref\": \"#/components/schemas/NestedType\" }`\n */\n schema: OpenApiV3.IJsonSchema;\n /**\n * Reusable schema components for OpenAPI v3.0.\n *\n * Contains all reusable schema definitions and components that may be\n * referenced by the main schema. This enables schema modularity and\n * prevents duplication when the same types are used in multiple places\n * within the schema definition.\n *\n * Component categories include:\n *\n * - Schemas: Named type definitions for complex objects, arrays, and unions\n * - SecuritySchemes: Authentication and authorization definitions\n * - Parameters: Reusable parameter specifications\n * - RequestBodies: Reusable request body definitions\n * - Responses: Reusable response specifications\n * - Headers: Reusable header definitions\n * - Examples: Reusable example values\n *\n * All components follow OpenAPI v3.0 format restrictions and capabilities.\n */\n components: OpenApiV3.IComponents;\n /**\n * Type metadata for compile-time type safety.\n *\n * This optional property maintains a reference to the original TypeScript\n * type that was used to generate this schema unit. It provides compile-time\n * type information without affecting the runtime JSON representation.\n *\n * Benefits of type metadata:\n *\n * - Enables type-safe schema validation and usage\n * - Provides IDE intellisense and autocompletion\n * - Allows compile-time checking of schema operations\n * - Maintains traceability to original TypeScript definitions\n *\n * The property is intentionally marked as optional and undefined to ensure\n * it doesn't appear in serialized JSON output while preserving type\n * information at compile time.\n */\n __type?: Type | undefined;\n }\n /**\n * JSON Schema unit formatted for OpenAPI v3.1 specification.\n *\n * This interface represents a single JSON schema unit that takes advantage of\n * OpenAPI v3.1's enhanced capabilities and improved JSON Schema\n * compatibility. It provides a more feature-rich and accurate representation\n * of TypeScript types compared to the v3.0 format.\n *\n * OpenAPI v3.1 advantages for this unit:\n *\n * - Full JSON Schema Draft 2020-12 compatibility\n * - Native tuple type support using prefixItems\n * - Proper null type handling via union types\n * - Pattern properties for dynamic object keys\n * - Enhanced const, enum, and validation capabilities\n * - Better support for complex nested structures\n *\n * Use cases for v3.1:\n *\n * - Modern OpenAPI implementations and tooling\n * - Systems requiring accurate TypeScript type representation\n * - Applications needing advanced JSON Schema features\n * - New projects without legacy compatibility requirements\n *\n * @template Type The original TypeScript type represented by this schema\n * unit. Enables compile-time type safety and provides enhanced development\n * experience with better IDE support.\n */\n interface IV3_1<Type> {\n /**\n * OpenAPI specification version identifier.\n *\n * Always set to \"3.1\" to indicate this schema unit uses OpenAPI v3.1 format\n * with enhanced JSON Schema compatibility and modern features.\n */\n version: \"3.1\";\n /**\n * The primary JSON schema definition with v3.1 enhancements.\n *\n * Contains the main JSON schema that accurately represents the TypeScript\n * type using OpenAPI v3.1's enhanced capabilities. This schema can express\n * complex TypeScript constructs that were not possible or accurate in\n * v3.0.\n *\n * Enhanced schema features include:\n *\n * - Tuple types using prefixItems for exact array structure\n * - Union types with proper null handling via oneOf\n * - Const values for literal types\n * - Pattern properties for Record<string, T> types\n * - Advanced validation constraints and metadata\n * - Recursive type definitions with proper $ref handling\n *\n * The schema follows the emended OpenAPI v3.1 format used by typia, which\n * removes ambiguous expressions while maintaining full compatibility.\n */\n schema: OpenApi.IJsonSchema;\n /**\n * Reusable schema components for OpenAPI v3.1.\n *\n * Contains reusable schema definitions and components that leverage OpenAPI\n * v3.1's enhanced capabilities. These components provide better type\n * representation and more accurate schema definitions compared to v3.0.\n *\n * Enhanced component features:\n *\n * - Schemas: More accurate type definitions with v3.1 JSON Schema features\n * - SecuritySchemes: Enhanced authentication scheme definitions\n * - Better support for complex nested references\n * - Improved handling of recursive and circular type dependencies\n *\n * The components structure follows the emended OpenAPI v3.1 specification\n * that simplifies certain patterns while maintaining full expressiveness.\n */\n components: OpenApi.IComponents;\n /**\n * Type metadata for enhanced compile-time type safety.\n *\n * This optional property preserves the original TypeScript type information\n * for compile-time type checking and enhanced development experience. It\n * enables type-safe operations and better IDE support without affecting the\n * runtime JSON schema representation.\n *\n * Enhanced type safety features:\n *\n * - Strong typing connection to original TypeScript definitions\n * - Better IDE intellisense and error detection\n * - Compile-time validation of schema usage patterns\n * - Type-safe integration with validation and serialization libraries\n * - Enhanced debugging and development experience\n *\n * The property remains optional and undefined to maintain clean JSON\n * serialization while preserving valuable compile-time information.\n */\n __type?: Type | undefined;\n }\n}\n",
|
|
1006
|
-
"node_modules/typia/lib/schemas/json/__IJsonApplication.d.ts": "import { OpenApi, OpenApiV3 } from \"@samchon/openapi\";\nexport interface __IJsonApplication<Version extends \"3.0\" | \"3.1\" = \"3.1\", App extends any = object> {\n version: Version;\n components: __IJsonApplication.IComponents<__IJsonApplication.Schema<Version>>;\n functions: __IJsonApplication.IFunction<__IJsonApplication.Schema<Version>>[];\n __application?: App | undefined;\n}\nexport declare namespace __IJsonApplication {\n type Schema<Version extends \"3.0\" | \"3.1\"> = Version extends \"3.1\" ? OpenApi.IJsonSchema : OpenApiV3.IJsonSchema;\n interface IComponents<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n schemas?: Record<string, Schema>;\n }\n interface IFunction<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n async: boolean;\n name: string;\n parameters: IParameter<Schema>[];\n output: IOutput<Schema> | undefined;\n summary?: string | undefined;\n description?: string | undefined;\n deprecated?: boolean;\n tags?: string[];\n }\n interface IParameter<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n name: string;\n required: boolean;\n schema: Schema;\n title?: string | undefined;\n description?: string | undefined;\n }\n interface IOutput<Schema extends OpenApi.IJsonSchema | OpenApiV3.IJsonSchema = OpenApi.IJsonSchema> {\n schema: Schema;\n required: boolean;\n description?: string | undefined;\n }\n}\n",
|
|
1007
1002
|
"node_modules/typia/lib/schemas/metadata/IJsDocTagInfo.d.ts": "export interface IJsDocTagInfo {\n name: string;\n text?: IJsDocTagInfo.IText[];\n}\nexport declare namespace IJsDocTagInfo {\n interface IText {\n text: string;\n kind: string;\n }\n}\n",
|
|
1008
1003
|
"node_modules/typia/lib/schemas/metadata/IMetadata.d.ts": "import { IMetadataAlias } from \"./IMetadataAlias\";\nimport { IMetadataArray } from \"./IMetadataArray\";\nimport { IMetadataAtomic } from \"./IMetadataAtomic\";\nimport { IMetadataConstant } from \"./IMetadataConstant\";\nimport { IMetadataEscaped } from \"./IMetadataEscaped\";\nimport { IMetadataFunction } from \"./IMetadataFunction\";\nimport { IMetadataMap } from \"./IMetadataMap\";\nimport { IMetadataNative } from \"./IMetadataNative\";\nimport { IMetadataObject } from \"./IMetadataObject\";\nimport { IMetadataSet } from \"./IMetadataSet\";\nimport { IMetadataTemplate } from \"./IMetadataTemplate\";\nimport { IMetadataTuple } from \"./IMetadataTuple\";\nexport interface IMetadata {\n any: boolean;\n required: boolean;\n optional: boolean;\n nullable: boolean;\n functions: IMetadataFunction[];\n atomics: IMetadataAtomic[];\n constants: IMetadataConstant[];\n templates: IMetadataTemplate[];\n escaped: IMetadataEscaped | null;\n rest: IMetadata | null;\n arrays: IMetadataArray[];\n tuples: IMetadataTuple[];\n objects: IMetadataObject[];\n aliases: IMetadataAlias[];\n natives: IMetadataNative[];\n sets: IMetadataSet[];\n maps: IMetadataMap[];\n}\n",
|
|
1009
1004
|
"node_modules/typia/lib/schemas/metadata/IMetadataAlias.d.ts": "import { IMetadataTypeTag } from \"./IMetadataTypeTag\";\nexport interface IMetadataAlias {\n name: string;\n tags: IMetadataTypeTag[][];\n}\n",
|
|
@@ -1123,7 +1118,7 @@
|
|
|
1123
1118
|
"node_modules/typia/lib/transformers/features/http/HttpValidateFormDataTransformer.d.ts": "import { ITransformProps } from \"../../ITransformProps\";\nexport declare namespace HttpValidateFormDataTransformer {\n const transform: (props: ITransformProps) => import(\"typescript\").CallExpression;\n}\n",
|
|
1124
1119
|
"node_modules/typia/lib/transformers/features/http/HttpValidateHeadersTransformer.d.ts": "import { ITransformProps } from \"../../ITransformProps\";\nexport declare namespace HttpValidateHeadersTransformer {\n const transform: (props: ITransformProps) => import(\"typescript\").CallExpression;\n}\n",
|
|
1125
1120
|
"node_modules/typia/lib/transformers/features/http/HttpValidateQueryTransformer.d.ts": "import { ITransformProps } from \"../../ITransformProps\";\nexport declare namespace HttpValidateQueryTransformer {\n const transform: (props: ITransformProps) => import(\"typescript\").CallExpression;\n}\n",
|
|
1126
|
-
"node_modules/typia/lib/transformers/features/json/JsonApplicationTransformer.d.ts": "",
|
|
1121
|
+
"node_modules/typia/lib/transformers/features/json/JsonApplicationTransformer.d.ts": "import ts from \"typescript\";\nimport { ITransformProps } from \"../../ITransformProps\";\nexport declare namespace JsonApplicationTransformer {\n const transform: (props: ITransformProps) => ts.Expression;\n}\n",
|
|
1127
1122
|
"node_modules/typia/lib/transformers/features/json/JsonAssertParseTransformer.d.ts": "import { ITransformProps } from \"../../ITransformProps\";\nexport declare namespace JsonAssertParseTransformer {\n const transform: (props: ITransformProps) => import(\"typescript\").CallExpression;\n}\n",
|
|
1128
1123
|
"node_modules/typia/lib/transformers/features/json/JsonAssertStringifyTransformer.d.ts": "import { ITransformProps } from \"../../ITransformProps\";\nexport declare namespace JsonAssertStringifyTransformer {\n const transform: (props: ITransformProps) => import(\"typescript\").CallExpression;\n}\n",
|
|
1129
1124
|
"node_modules/typia/lib/transformers/features/json/JsonCreateAssertParseTransformer.d.ts": "import { ITransformProps } from \"../../ITransformProps\";\nexport declare namespace JsonCreateAssertParseTransformer {\n const transform: (props: ITransformProps) => import(\"typescript\").Expression | import(\"typescript\").ArrowFunction;\n}\n",
|
|
@@ -1209,7 +1204,7 @@
|
|
|
1209
1204
|
"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
1205
|
"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
1206
|
"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\": \"
|
|
1207
|
+
"node_modules/typia/package.json": "{\n \"name\": \"typia\",\n \"version\": \"10.0.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\": \"^5.0.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.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
1208
|
"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
1209
|
"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
1210
|
"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",
|