@agentica/core
Version:
Agentic AI Library specialized in LLM Function Calling
370 lines • 163 kB
JavaScript
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
var ownKeys = function(o) {
ownKeys = Object.getOwnPropertyNames || function (o) {
var ar = [];
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
return ar;
};
return ownKeys(o);
};
return function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
__setModuleDefault(result, mod);
return result;
};
})();
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.assertMcpController = assertMcpController;
const __typia_transform__assertGuard = __importStar(require("typia/lib/internal/_assertGuard.js"));
const __typia_transform__accessExpressionAsString = __importStar(require("typia/lib/internal/_accessExpressionAsString.js"));
const openapi_1 = require("@samchon/openapi");
const typia_1 = __importDefault(require("typia"));
/**
* Create an MCP controller with type assertion.
*
* Create an {@link IAgenticaController.IMcp} instance which represents
* an MCP (Model Context Protocol) controller with LLM function calling
* schemas and client connection.
*
* @param props Properties to create the MCP controller
* @param props.name Name of the MCP implementation.
* @param props.client Client connection to the MCP implementation.
* @param props.model Model schema of the LLM function calling.
* @param props.options Options to create the MCP controller.
* @returns MCP LLM application instance
* @author sunrabbit123
*/
function assertMcpController(props) {
return __awaiter(this, void 0, void 0, function* () {
// for peerDependencies
const { ListToolsResultSchema } = yield Promise.resolve().then(() => __importStar(require("@modelcontextprotocol/sdk/types.js")));
// get list of tools
const { tools } = yield props.client.request({ method: "tools/list" }, ListToolsResultSchema);
const application = openapi_1.McpLlm.application({
model: props.model,
tools: (() => { const _io0 = input => "string" === typeof input.name && input.name.length <= 64 && (undefined === input.description || "string" === typeof input.description) && ("object" === typeof input.inputSchema && null !== input.inputSchema && _iu1(input.inputSchema)); const _io1 = input => (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.properties || "object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io2(input.properties)) && (undefined === input.required || Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || "boolean" === typeof input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && false === Array.isArray(input.additionalProperties) && _iu0(input.additionalProperties))) && (undefined === input.maxProperties || "number" === typeof input.maxProperties) && (undefined === input.minProperties || "number" === typeof input.minProperties) && "object" === input.type && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))) && (undefined === input.$defs || "object" === typeof input.$defs && null !== input.$defs && false === Array.isArray(input.$defs) && _io2(input.$defs)); const _io2 = input => Object.keys(input).every(key => {
const value = input[key];
if (undefined === value)
return true;
return "object" === typeof value && null !== value && false === Array.isArray(value) && _iu0(value);
}); const _io3 = input => (undefined === input.nullable || "boolean" === typeof input.nullable) && (undefined === input.properties || "object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io2(input.properties)) && (undefined === input.required || Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || "boolean" === typeof input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && false === Array.isArray(input.additionalProperties) && _iu0(input.additionalProperties))) && (undefined === input.maxProperties || "number" === typeof input.maxProperties) && (undefined === input.minProperties || "number" === typeof input.minProperties) && "object" === input.type && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))); const _io4 = input => Array.isArray(input.type) && input.type.every(elem => "string" === elem || "number" === elem || "boolean" === elem || "object" === elem || "integer" === elem || "array" === elem || "null" === elem) && (null === input["default"] || undefined === input["default"] || Array.isArray(input["default"])) && (undefined === input["enum"] || Array.isArray(input["enum"])) && ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && (undefined === input.nullable || "boolean" === typeof input.nullable) && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true && (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || "boolean" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || "boolean" === typeof input.exclusiveMaximum) && (undefined === input.format || "string" === typeof input.format) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (null !== input.items && (undefined === input.items || (Array.isArray(input.items) && input.items.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _iu0(elem)) || "object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) && _iu0(input.items)))) && (undefined === input.prefixItems || Array.isArray(input.prefixItems) && input.prefixItems.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _iu0(elem))) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (null !== input.additionalItems && (undefined === input.additionalItems || "boolean" === typeof input.additionalItems || "object" === typeof input.additionalItems && null !== input.additionalItems && false === Array.isArray(input.additionalItems) && _iu0(input.additionalItems))) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && (null !== input.additionalProperties && (undefined === input.additionalProperties || "boolean" === typeof input.additionalProperties || "object" === typeof input.additionalProperties && null !== input.additionalProperties && false === Array.isArray(input.additionalProperties) && _iu0(input.additionalProperties))) && (undefined === input.properties || "object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) && _io2(input.properties)) && (undefined === input.required || Array.isArray(input.required) && input.required.every(elem => "string" === typeof elem)) && (undefined === input.maxProperties || "number" === typeof input.maxProperties) && (undefined === input.minProperties || "number" === typeof input.minProperties) && (Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _iu0(elem))) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io17(input.discriminator)) && (Array.isArray(input.anyOf) && input.anyOf.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _iu0(elem))) && (Array.isArray(input.allOf) && input.allOf.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _iu0(elem))) && "string" === typeof input.$ref; const _io5 = input => Object.keys(input).every(key => {
const value = input[key];
if (undefined === value)
return true;
return true;
}); const _io6 = input => ("string" === typeof input["const"] || "number" === typeof input["const"] || "boolean" === typeof input["const"]) && (undefined === input.nullable || "boolean" === typeof input.nullable) && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true; const _io7 = input => (undefined === input.nullable || "boolean" === typeof input.nullable) && (null === input["default"] || undefined === input["default"] || "boolean" === typeof input["default"]) && (undefined === input["enum"] || Array.isArray(input["enum"]) && input["enum"].every(elem => null === elem || "boolean" === typeof elem)) && "boolean" === input.type && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))); const _io8 = input => (undefined === input.nullable || "boolean" === typeof input.nullable) && (null === input["default"] || undefined === input["default"] || "number" === typeof input["default"] && (Math.floor(input["default"]) === input["default"] && -9223372036854776000 <= input["default"] && input["default"] <= 9223372036854776000)) && (undefined === input["enum"] || Array.isArray(input["enum"]) && input["enum"].every(elem => null === elem || "number" === typeof elem)) && (undefined === input.minimum || "number" === typeof input.minimum && (Math.floor(input.minimum) === input.minimum && -9223372036854776000 <= input.minimum && input.minimum <= 9223372036854776000)) && (undefined === input.maximum || "number" === typeof input.maximum && (Math.floor(input.maximum) === input.maximum && -9223372036854776000 <= input.maximum && input.maximum <= 9223372036854776000)) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum && (Math.floor(input.exclusiveMinimum) === input.exclusiveMinimum && -9223372036854776000 <= input.exclusiveMinimum && input.exclusiveMinimum <= 9223372036854776000) || "boolean" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum && (Math.floor(input.exclusiveMaximum) === input.exclusiveMaximum && -9223372036854776000 <= input.exclusiveMaximum && input.exclusiveMaximum <= 9223372036854776000) || "boolean" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && (Math.floor(input.multipleOf) === input.multipleOf && 0 <= input.multipleOf && input.multipleOf <= 18446744073709552000 && 0 < input.multipleOf)) && "integer" === input.type && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))); const _io9 = input => (undefined === input.nullable || "boolean" === typeof input.nullable) && (null === input["default"] || undefined === input["default"] || "number" === typeof input["default"]) && (undefined === input["enum"] || Array.isArray(input["enum"]) && input["enum"].every(elem => null === elem || "number" === typeof elem)) && (undefined === input.minimum || "number" === typeof input.minimum) && (undefined === input.maximum || "number" === typeof input.maximum) && (undefined === input.exclusiveMinimum || "number" === typeof input.exclusiveMinimum || "boolean" === typeof input.exclusiveMinimum) && (undefined === input.exclusiveMaximum || "number" === typeof input.exclusiveMaximum || "boolean" === typeof input.exclusiveMaximum) && (undefined === input.multipleOf || "number" === typeof input.multipleOf && 0 < input.multipleOf) && "number" === input.type && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))); const _io10 = input => (undefined === input.nullable || "boolean" === typeof input.nullable) && (null === input["default"] || undefined === input["default"] || "string" === typeof input["default"]) && (undefined === input["enum"] || Array.isArray(input["enum"]) && input["enum"].every(elem => null === elem || "string" === typeof elem)) && (undefined === input.format || "string" === typeof input.format) && (undefined === input.pattern || "string" === typeof input.pattern) && (undefined === input.contentMediaType || "string" === typeof input.contentMediaType) && (undefined === input.minLength || "number" === typeof input.minLength && (Math.floor(input.minLength) === input.minLength && 0 <= input.minLength && input.minLength <= 18446744073709552000)) && (undefined === input.maxLength || "number" === typeof input.maxLength && (Math.floor(input.maxLength) === input.maxLength && 0 <= input.maxLength && input.maxLength <= 18446744073709552000)) && "string" === input.type && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))); const _io11 = input => (undefined === input.nullable || "boolean" === typeof input.nullable) && (null !== input.items && (undefined === input.items || (Array.isArray(input.items) && input.items.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _iu0(elem)) || "object" === typeof input.items && null !== input.items && false === Array.isArray(input.items) && _iu0(input.items)))) && (undefined === input.prefixItems || Array.isArray(input.prefixItems) && input.prefixItems.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _iu0(elem))) && (undefined === input.uniqueItems || "boolean" === typeof input.uniqueItems) && (null !== input.additionalItems && (undefined === input.additionalItems || "boolean" === typeof input.additionalItems || "object" === typeof input.additionalItems && null !== input.additionalItems && false === Array.isArray(input.additionalItems) && _iu0(input.additionalItems))) && (undefined === input.minItems || "number" === typeof input.minItems && (Math.floor(input.minItems) === input.minItems && 0 <= input.minItems && input.minItems <= 18446744073709552000)) && (undefined === input.maxItems || "number" === typeof input.maxItems && (Math.floor(input.maxItems) === input.maxItems && 0 <= input.maxItems && input.maxItems <= 18446744073709552000)) && "array" === input.type && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))); const _io12 = input => "string" === typeof input.$ref && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true; const _io13 = input => "string" === typeof input.$recursiveRef && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true; const _io14 = input => Array.isArray(input.allOf) && input.allOf.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _iu0(elem)) && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true; const _io15 = input => Array.isArray(input.anyOf) && input.anyOf.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _iu0(elem)) && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true; const _io16 = input => Array.isArray(input.oneOf) && input.oneOf.every(elem => "object" === typeof elem && null !== elem && false === Array.isArray(elem) && _iu0(elem)) && (undefined === input.discriminator || "object" === typeof input.discriminator && null !== input.discriminator && _io17(input.discriminator)) && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true; const _io17 = input => "string" === typeof input.propertyName && (undefined === input.mapping || "object" === typeof input.mapping && null !== input.mapping && false === Array.isArray(input.mapping) && _io18(input.mapping)); const _io18 = input => Object.keys(input).every(key => {
const value = input[key];
if (undefined === value)
return true;
return "string" === typeof value;
}); const _io19 = input => (null === input["default"] || undefined === input["default"]) && "null" === input.type && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))); const _io20 = input => null !== input.type && undefined === input.type && true && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))); const _io21 = input => "string" === typeof input.$ref && (null !== input.examples && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _io5(input.examples)))) && (undefined === input.title || "string" === typeof input.title) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.deprecated || "boolean" === typeof input.deprecated) && true && (undefined === input.$defs || "object" === typeof input.$defs && null !== input.$defs && false === Array.isArray(input.$defs) && _io2(input.$defs)); const _iu0 = input => (() => {
if ("object" === input.type)
return _io3(input);
else if (Array.isArray(input.type) && input.type.every(elem => "string" === elem || "number" === elem || "boolean" === elem || "object" === elem || "integer" === elem || "array" === elem || "null" === elem))
return _io4(input);
else if ("boolean" === input.type)
return _io7(input);
else if ("number" === input.type)
return _io9(input);
else if ("integer" === input.type)
return _io8(input);
else if ("string" === input.type)
return _io10(input);
else if ("array" === input.type)
return _io11(input);
else if (undefined !== input.$recursiveRef)
return _io13(input);
else if ("null" === input.type)
return _io19(input);
else
return (() => {
if (undefined !== input["const"])
return _io6(input);
else if (undefined !== input.$ref)
return _io12(input);
else if (undefined !== input.allOf)
return _io14(input);
else if (undefined !== input.anyOf)
return _io15(input);
else if (undefined !== input.oneOf)
return _io16(input);
else
return _io20(input);
})();
})(); const _iu1 = input => (() => {
if (undefined !== input.type)
return _io1(input);
else if (undefined !== input.$ref)
return _io21(input);
else
return false;
})(); const _ao0 = (input, _path, _exceptionable = true) => ("string" === typeof input.name && (input.name.length <= 64 || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".name",
expected: "string & MaxLength<64>",
value: input.name
}, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".name",
expected: "(string & MaxLength<64>)",
value: input.name
}, _errorFactory)) && (undefined === input.description || "string" === typeof input.description || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".description",
expected: "(string | undefined)",
value: input.description
}, _errorFactory)) && (("object" === typeof input.inputSchema && null !== input.inputSchema || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".inputSchema",
expected: "(IObject & { $defs?: Record<string, IJsonSchema> | undefined; } | IReference<string> & { $defs?: Record<string, IJsonSchema> | undefined; })",
value: input.inputSchema
}, _errorFactory)) && _au1(input.inputSchema, _path + ".inputSchema", true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".inputSchema",
expected: "(IObject & { $defs?: Record<string, IJsonSchema> | undefined; } | IReference<string> & { $defs?: Record<string, IJsonSchema> | undefined; })",
value: input.inputSchema
}, _errorFactory)); const _ao1 = (input, _path, _exceptionable = true) => (undefined === input.nullable || "boolean" === typeof input.nullable || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".nullable",
expected: "(boolean | undefined)",
value: input.nullable
}, _errorFactory)) && (undefined === input.properties || ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".properties",
expected: "(Record<string, OpenApiV3_1.IJsonSchema> | undefined)",
value: input.properties
}, _errorFactory)) && _ao2(input.properties, _path + ".properties", true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".properties",
expected: "(Record<string, OpenApiV3_1.IJsonSchema> | undefined)",
value: input.properties
}, _errorFactory)) && (undefined === input.required || (Array.isArray(input.required) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".required",
expected: "(Array<string> | undefined)",
value: input.required
}, _errorFactory)) && input.required.every((elem, _index22) => "string" === typeof elem || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".required[" + _index22 + "]",
expected: "string",
value: elem
}, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".required",
expected: "(Array<string> | undefined)",
value: input.required
}, _errorFactory)) && ((null !== input.additionalProperties || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".additionalProperties",
expected: "(OpenApiV3_1.IJsonSchema.IAllOf | OpenApiV3_1.IJsonSchema.IAnyOf | OpenApiV3_1.IJsonSchema.IArray | OpenApiV3_1.IJsonSchema.IBoolean | OpenApiV3_1.IJsonSchema.IConstant | OpenApiV3_1.IJsonSchema.IInteger | OpenApiV3_1.IJsonSchema.IMixed | OpenApiV3_1.IJsonSchema.INull | OpenApiV3_1.IJsonSchema.INumber | OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IOneOf | OpenApiV3_1.IJsonSchema.IRecursiveReference | OpenApiV3_1.IJsonSchema.IReference<string> | OpenApiV3_1.IJsonSchema.IString | OpenApiV3_1.IJsonSchema.IUnknown | boolean | undefined)",
value: input.additionalProperties
}, _errorFactory)) && (undefined === input.additionalProperties || "boolean" === typeof input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties && false === Array.isArray(input.additionalProperties) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".additionalProperties",
expected: "(OpenApiV3_1.IJsonSchema.IAllOf | OpenApiV3_1.IJsonSchema.IAnyOf | OpenApiV3_1.IJsonSchema.IArray | OpenApiV3_1.IJsonSchema.IBoolean | OpenApiV3_1.IJsonSchema.IConstant | OpenApiV3_1.IJsonSchema.IInteger | OpenApiV3_1.IJsonSchema.IMixed | OpenApiV3_1.IJsonSchema.INull | OpenApiV3_1.IJsonSchema.INumber | OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IOneOf | OpenApiV3_1.IJsonSchema.IRecursiveReference | OpenApiV3_1.IJsonSchema.IReference<string> | OpenApiV3_1.IJsonSchema.IString | OpenApiV3_1.IJsonSchema.IUnknown | boolean | undefined)",
value: input.additionalProperties
}, _errorFactory)) && _au0(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".additionalProperties",
expected: "(OpenApiV3_1.IJsonSchema.IAllOf | OpenApiV3_1.IJsonSchema.IAnyOf | OpenApiV3_1.IJsonSchema.IArray | OpenApiV3_1.IJsonSchema.IBoolean | OpenApiV3_1.IJsonSchema.IConstant | OpenApiV3_1.IJsonSchema.IInteger | OpenApiV3_1.IJsonSchema.IMixed | OpenApiV3_1.IJsonSchema.INull | OpenApiV3_1.IJsonSchema.INumber | OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IOneOf | OpenApiV3_1.IJsonSchema.IRecursiveReference | OpenApiV3_1.IJsonSchema.IReference<string> | OpenApiV3_1.IJsonSchema.IString | OpenApiV3_1.IJsonSchema.IUnknown | boolean | undefined)",
value: input.additionalProperties
}, _errorFactory))) && (undefined === input.maxProperties || "number" === typeof input.maxProperties || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".maxProperties",
expected: "(number | undefined)",
value: input.maxProperties
}, _errorFactory)) && (undefined === input.minProperties || "number" === typeof input.minProperties || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".minProperties",
expected: "(number | undefined)",
value: input.minProperties
}, _errorFactory)) && ("object" === input.type || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".type",
expected: "\"object\"",
value: input.type
}, _errorFactory)) && (undefined === input.title || "string" === typeof input.title || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".title",
expected: "(string | undefined)",
value: input.title
}, _errorFactory)) && (undefined === input.description || "string" === typeof input.description || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".description",
expected: "(string | undefined)",
value: input.description
}, _errorFactory)) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".deprecated",
expected: "(boolean | undefined)",
value: input.deprecated
}, _errorFactory)) && true && ((null !== input.examples || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".examples",
expected: "(Array<any> | Record<string, any> | undefined)",
value: input.examples
}, _errorFactory)) && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _ao5(input.examples, _path + ".examples", true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".examples",
expected: "(Array<any> | Record<string, any> | undefined)",
value: input.examples
}, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".examples",
expected: "(Array<any> | Record<string, any> | undefined)",
value: input.examples
}, _errorFactory))) && (undefined === input.$defs || ("object" === typeof input.$defs && null !== input.$defs && false === Array.isArray(input.$defs) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".$defs",
expected: "(Record<string, OpenApiV3_1.IJsonSchema> | undefined)",
value: input.$defs
}, _errorFactory)) && _ao2(input.$defs, _path + ".$defs", true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".$defs",
expected: "(Record<string, OpenApiV3_1.IJsonSchema> | undefined)",
value: input.$defs
}, _errorFactory)); const _ao2 = (input, _path, _exceptionable = true) => false === _exceptionable || Object.keys(input).every(key => {
const value = input[key];
if (undefined === value)
return true;
return ("object" === typeof value && null !== value && false === Array.isArray(value) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
expected: "(OpenApiV3_1.IJsonSchema.IAllOf | OpenApiV3_1.IJsonSchema.IAnyOf | OpenApiV3_1.IJsonSchema.IArray | OpenApiV3_1.IJsonSchema.IBoolean | OpenApiV3_1.IJsonSchema.IConstant | OpenApiV3_1.IJsonSchema.IInteger | OpenApiV3_1.IJsonSchema.IMixed | OpenApiV3_1.IJsonSchema.INull | OpenApiV3_1.IJsonSchema.INumber | OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IOneOf | OpenApiV3_1.IJsonSchema.IRecursiveReference | OpenApiV3_1.IJsonSchema.IReference<string> | OpenApiV3_1.IJsonSchema.IString | OpenApiV3_1.IJsonSchema.IUnknown)",
value: value
}, _errorFactory)) && _au0(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
expected: "(OpenApiV3_1.IJsonSchema.IAllOf | OpenApiV3_1.IJsonSchema.IAnyOf | OpenApiV3_1.IJsonSchema.IArray | OpenApiV3_1.IJsonSchema.IBoolean | OpenApiV3_1.IJsonSchema.IConstant | OpenApiV3_1.IJsonSchema.IInteger | OpenApiV3_1.IJsonSchema.IMixed | OpenApiV3_1.IJsonSchema.INull | OpenApiV3_1.IJsonSchema.INumber | OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IOneOf | OpenApiV3_1.IJsonSchema.IRecursiveReference | OpenApiV3_1.IJsonSchema.IReference<string> | OpenApiV3_1.IJsonSchema.IString | OpenApiV3_1.IJsonSchema.IUnknown)",
value: value
}, _errorFactory);
}); const _ao3 = (input, _path, _exceptionable = true) => (undefined === input.nullable || "boolean" === typeof input.nullable || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".nullable",
expected: "(boolean | undefined)",
value: input.nullable
}, _errorFactory)) && (undefined === input.properties || ("object" === typeof input.properties && null !== input.properties && false === Array.isArray(input.properties) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".properties",
expected: "(Record<string, OpenApiV3_1.IJsonSchema> | undefined)",
value: input.properties
}, _errorFactory)) && _ao2(input.properties, _path + ".properties", true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".properties",
expected: "(Record<string, OpenApiV3_1.IJsonSchema> | undefined)",
value: input.properties
}, _errorFactory)) && (undefined === input.required || (Array.isArray(input.required) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".required",
expected: "(Array<string> | undefined)",
value: input.required
}, _errorFactory)) && input.required.every((elem, _index23) => "string" === typeof elem || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".required[" + _index23 + "]",
expected: "string",
value: elem
}, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".required",
expected: "(Array<string> | undefined)",
value: input.required
}, _errorFactory)) && ((null !== input.additionalProperties || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".additionalProperties",
expected: "(OpenApiV3_1.IJsonSchema.IAllOf | OpenApiV3_1.IJsonSchema.IAnyOf | OpenApiV3_1.IJsonSchema.IArray | OpenApiV3_1.IJsonSchema.IBoolean | OpenApiV3_1.IJsonSchema.IConstant | OpenApiV3_1.IJsonSchema.IInteger | OpenApiV3_1.IJsonSchema.IMixed | OpenApiV3_1.IJsonSchema.INull | OpenApiV3_1.IJsonSchema.INumber | OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IOneOf | OpenApiV3_1.IJsonSchema.IRecursiveReference | OpenApiV3_1.IJsonSchema.IReference<string> | OpenApiV3_1.IJsonSchema.IString | OpenApiV3_1.IJsonSchema.IUnknown | boolean | undefined)",
value: input.additionalProperties
}, _errorFactory)) && (undefined === input.additionalProperties || "boolean" === typeof input.additionalProperties || ("object" === typeof input.additionalProperties && null !== input.additionalProperties && false === Array.isArray(input.additionalProperties) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".additionalProperties",
expected: "(OpenApiV3_1.IJsonSchema.IAllOf | OpenApiV3_1.IJsonSchema.IAnyOf | OpenApiV3_1.IJsonSchema.IArray | OpenApiV3_1.IJsonSchema.IBoolean | OpenApiV3_1.IJsonSchema.IConstant | OpenApiV3_1.IJsonSchema.IInteger | OpenApiV3_1.IJsonSchema.IMixed | OpenApiV3_1.IJsonSchema.INull | OpenApiV3_1.IJsonSchema.INumber | OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IOneOf | OpenApiV3_1.IJsonSchema.IRecursiveReference | OpenApiV3_1.IJsonSchema.IReference<string> | OpenApiV3_1.IJsonSchema.IString | OpenApiV3_1.IJsonSchema.IUnknown | boolean | undefined)",
value: input.additionalProperties
}, _errorFactory)) && _au0(input.additionalProperties, _path + ".additionalProperties", true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".additionalProperties",
expected: "(OpenApiV3_1.IJsonSchema.IAllOf | OpenApiV3_1.IJsonSchema.IAnyOf | OpenApiV3_1.IJsonSchema.IArray | OpenApiV3_1.IJsonSchema.IBoolean | OpenApiV3_1.IJsonSchema.IConstant | OpenApiV3_1.IJsonSchema.IInteger | OpenApiV3_1.IJsonSchema.IMixed | OpenApiV3_1.IJsonSchema.INull | OpenApiV3_1.IJsonSchema.INumber | OpenApiV3_1.IJsonSchema.IObject | OpenApiV3_1.IJsonSchema.IOneOf | OpenApiV3_1.IJsonSchema.IRecursiveReference | OpenApiV3_1.IJsonSchema.IReference<string> | OpenApiV3_1.IJsonSchema.IString | OpenApiV3_1.IJsonSchema.IUnknown | boolean | undefined)",
value: input.additionalProperties
}, _errorFactory))) && (undefined === input.maxProperties || "number" === typeof input.maxProperties || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".maxProperties",
expected: "(number | undefined)",
value: input.maxProperties
}, _errorFactory)) && (undefined === input.minProperties || "number" === typeof input.minProperties || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".minProperties",
expected: "(number | undefined)",
value: input.minProperties
}, _errorFactory)) && ("object" === input.type || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".type",
expected: "\"object\"",
value: input.type
}, _errorFactory)) && (undefined === input.title || "string" === typeof input.title || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".title",
expected: "(string | undefined)",
value: input.title
}, _errorFactory)) && (undefined === input.description || "string" === typeof input.description || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".description",
expected: "(string | undefined)",
value: input.description
}, _errorFactory)) && (undefined === input.deprecated || "boolean" === typeof input.deprecated || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".deprecated",
expected: "(boolean | undefined)",
value: input.deprecated
}, _errorFactory)) && true && ((null !== input.examples || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".examples",
expected: "(Array<any> | Record<string, any> | undefined)",
value: input.examples
}, _errorFactory)) && (undefined === input.examples || (Array.isArray(input.examples) || "object" === typeof input.examples && null !== input.examples && false === Array.isArray(input.examples) && _ao5(input.examples, _path + ".examples", true && _exceptionable) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".examples",
expected: "(Array<any> | Record<string, any> | undefined)",
value: input.examples
}, _errorFactory)) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".examples",
expected: "(Array<any> | Record<string, any> | undefined)",
value: input.examples
}, _errorFactory))); const _ao4 = (input, _path, _exceptionable = true) => ((Array.isArray(input.type) || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".type",
expected: "Array<\"string\" | \"number\" | \"boolean\" | \"object\" | \"integer\" | \"array\" | \"null\">",
value: input.type
}, _errorFactory)) && input.type.every((elem, _index24) => "string" === elem || "number" === elem || "boolean" === elem || "object" === elem || "integer" === elem || "array" === elem || "null" === elem || __typia_transform__assertGuard._assertGuard(_exceptionable, {
method: "typia.assert",
path: _path + ".type[" + _index24 + "]",
expected: "(\"array\" | \"boolean\" | \"integer\" | \"null\" | \"number\" | \"ob